ExtJs定时消息提示框,类似于QQ右下角提示,ExtJs如何定时向后台发出两个请求并刷新数据实例

原文出自:https://blog.csdn.net/seesun2012

思路:
1.加载页面,加载Ext.TaskManager.start()方法;
2.执行定时器方法;
3.获取地址向后台发送请求,参数传递到后台;
4.执行你想要的功能。

/**
 *  定时器结构
 */
var task = {
	run : function() {
		//请求...
	},
	interval : 1000,  //1秒
};
Ext.TaskManager.start(task);

一言不合就Copy:

/**
 *
 * 时间:2016-10-17
 * 
 * 作者:张擎宇
 */
Ext.define('Ext.xxx.xxx.xxx.xxx', {
	extend : 'Ext.xxx.xxx.xxx.xxx',
	//初始化
	init : function() {
		var self = this;
		self.control({
			//页面加载时这行render中的方法
			render : function(panel) {
				var num = 1;		
				var dataOne = 0;	
				var dataTwo = 0;	

				var task = {
					run : function() {
						if (num >= 1 && num <= 100 ) {
							
							//请求一
							Ext.Ajax.request({
								url : 'xxxxxx/xxxxxx',	//后台请求地址
								params : {
									name : 'xxx',	//传递的请求参数
								},
								success : function(record)
								{
									dataOne = Ext.JSON.decode(record.responseText);	//获取的请求结果
								}
							});
							
							//请求二
							Ext.Ajax.request({
								url : 'xxxxxx/xxxxxx',
								params : {
									id : 0001,
									name : 'seesun2012',
									age : '120',
								},
								success : function(record)
								{
									dataTwo = Ext.JSON.decode(record.responseText);
									var reusable = Ext.getCmp('windows_Id');
									if (!reusable && (dataOne > 0 || dataTwo > 0)) {
										//创建一个窗体
										reusable = Ext.create('Ext.window.Window', {
											title : '窗体',
											heiht : 400,
											width : 300,
											id : 'windows_Id',		
											closeAction : 'hide',
											position : 'br',
											useXAxis : false,
											html : '<div style="width:300px;height:150px;margin-top:10px;">请求成功,xxxxx!</div><hr /><hr/><span style="with:100%;float:right;margin-right:10px;"><a id="dont_msg" href="#" style="color:blue;text-decoration:none;a:hover:red;">不再提醒</a></span>',
										});
										reusable.show();
									}
									//不再弹出提示
									$('#dont_msg').on('click',function(){
										num = 100;
										reusable.destroy();		//销毁这个窗体
									});
									num++;	//如果成功,累加当前请求次数
								}
							});
						}
					},
					interval : 10000,	//定时10秒钟向后台发一次请求
					
				};
				Ext.TaskManager.start(task);

			}

		});
	},
});

当然要根据实际情况更改一些相应的代码啦~~~!

posted @ 2018-06-22 18:06  seesun2012  阅读(298)  评论(0编辑  收藏  举报