Ext定时发送请求

 

 

/***********************
    Ext定时发送请求
***********************/
// JavaScript Document var task_CheckLoginState;
//声明任务变量 
Ext.onReady(
   function(){ 
       task_CheckLoginState = { 
           run: checkLogin,//执行任务时执行的函数 
           interval: 10000//任务间隔,毫秒为单位,这里是10秒 
       } 
       Ext.TaskMgr.start(task_CheckLoginState);//初始化时就启动任务 
});   

function showlogin() { //显示登录界面 }   //检查登录状态的函数 

function checkLogin(){ 
     Ext.Ajax.request({ 
         url: 'login.php',//执行登录状态检查的程序 
         disableCaching: true,//是否禁用缓存,当然要禁用 
         timeout: 10000,//最大等待时间,超出则会触发超时 
         success: function(response, option){//ajax请求发送成功时执行 
            if (!response || response.responseText == '') {
                 //返回的内容为空,即服务器停止响应时 
                 Ext.TaskMgr.stop(task_CheckLoginState); 
                 Ext.MessageBox.show({ 
                      title: '错误', 
                      msg: '在检测您的登录状态时发生错误,请稍候再次进行登录。', 
                      buttons: Ext.Msg.OK, 
                      icon: Ext.MessageBox.ERROR, 
                      fn: function(btn, text){ 
                          if (btn == 'ok') { 
                              showlogin();//显示登录界面 
                          } 
                      } 
                 }); 
                 return; 
             } else { 
                 result = Ext.decode(response.responseText); 
                 if (result.success == 'true') {//success是ext用来判断访问url是否成功的依据 
                        if (result.state == 'true') {//state是自定义的返回值,用来标识登录状态是否有效 
                               return true; 
                        } else {//登录状态失效 
                             Ext.TaskMgr.stop(task_CheckLoginState); 
                             Ext.MessageBox.show({ 
                                   title: '登录检测', 
                                   msg: '您已经长时间未操作或已经退出登录,请重新登录。', 
                                   buttons: Ext.Msg.OK, 
                                   icon: Ext.MessageBox.INFO, 
                                   fn: function(btn, text){ 
                                       if (btn == 'ok') { showlogin(); } //显示登陆界面
                                   } 
                              }); 
                              return false; 
                        } 
                  } else {//success的返回结果不是true,这种情况很少发生 
                  Ext.TaskMgr.stop(task_CheckLoginState); 
                  Ext.MessageBox.show({ 
                         title: '错误', 
                         msg: '在检测您的登录状态时发生网络错误,请确认您已经链接网络后再次进行登录。', 
                         buttons: Ext.Msg.OK, 
                         icon: Ext.MessageBox.ERROR, 
                         fn: function(btn, text){ 
                             if (btn == 'ok') { showlogin(); } //显示登陆界面
                         } 
                  }); 
             } 
          } 
       }, 
       failure: function(data){//ajax请求发送失败或超时 
             Ext.TaskMgr.stop(task_CheckLoginState); 
       }
     });
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值