`
quliangjun
  • 浏览: 20031 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

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); 
       }
     });
}

 

 

分享到:
评论

相关推荐

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    Ext 定时器案例

    描述中提到的“Ext 前台定时器代码”是指在 ExtJS 应用程序的用户界面层设置一个定时器,该定时器周期性地发送请求到服务器,以获取最新的数据。这种技术通常被称为“轮询”,它允许前端应用在后台数据发生变化时...

    Ext3.1 Ajax 精简包以及使用方法

    1. **发送请求:** `Ext.Ajax.request`是核心方法,用于发起HTTP请求。你可以设置参数如URL、方法(GET或POST)、数据、回调函数等。例如: ```javascript Ext.Ajax.request({ url: 'server/script.php', method...

    ext scheduler -java

    在前端,EXT Scheduler会发送Ajax请求到后端,后端则通过Spring MVC的控制器处理这些请求,执行相应的CRUD操作。数据通常以JSON格式交换,便于前后端之间的通信。 总的来说,"EXT Scheduler - Java"项目结合了EXTJS...

    Ext AJAX submit方法实例

    Ext AJAX的`submit`方法是Ext JS框架中用于发送异步HTTP请求的重要组成部分,它主要用于处理表单数据的提交。这个方法提供了与服务器端进行数据交互的灵活性,使得无需页面刷新就能更新或保存数据,极大地提高了用户...

    thinkphp+ext 物品管理

    例如,Grid的store配置指向获取物品列表的API,当用户操作时,EXT自动发送请求并更新界面。 4. 权限控制:ThinkPHP的Auth权限认证模块可以帮助实现用户角色和操作权限的管理,确保只有授权用户才能进行特定操作,如...

    ext js 页面自动刷新教程集合

    对于实时更新,我们需要配置Store的proxy以定时发送请求获取最新数据。常见的Proxy类型有Ajax和Rest,它们支持JSON或XML等数据格式。 2. AutoLoad:Store有一个autoLoad属性,可设置为true以在创建时自动加载数据。...

    Ext Demo, Ext学习入门

    2. **数据模型**:定义聊天消息的数据结构,可能包含了时间、发送者、内容等属性。 3. **控制器**:负责监听用户操作,如点击发送按钮时触发消息发送,接收新消息时更新界面。 4. **服务接口**:与后端 Spring 或 ...

    EXT 上传图片 删除图片,显示图片,PHP

    要实现这个功能,我们需要在EXT的视图(View)部分定义一个包含FileField的表单,然后在控制器(Controller)中监听表单的提交事件,将文件通过Ajax方式发送到PHP处理脚本。 2. **PHP处理** PHP端需要接收上传的...

    ext/ajax开发资料

    EXT的Ajax功能还支持配置各种选项,如设置请求头、超时时间、同步/异步请求、数据编码方式等。例如,你可以设定请求头来添加自定义的HTTP头部信息: ```javascript headers: { 'Content-Type': 'application/json' ...

    EXT4 自己整理的一些常用方法

    在EXT4中,可以利用FormPanel的submit方法发送数据到服务器,并通过监听各种事件来处理反馈结果。 总的来说,这个压缩包中的资料对于熟悉EXT4的日常开发非常有帮助,涵盖了EXT4的核心组件和常用操作,无论是数据...

    深入浅出Ext_JS:数据存储与传输

    然后通过request方法发送请求,指定了成功和失败的回调函数。request方法还接受其他参数,如url、params、method等,用于定制请求行为。 当存在多个并发请求时,可以通过abort方法取消指定的事务id的请求。这有助于...

    Ext.data专题

    创建了 **Ext.data.Connection** 实例后,可以调用 `request()` 函数来发送请求。该函数接受多个参数,如: - **url**: 请求的目标URL。 - **params**: 请求参数。 - **method**: 请求方法(GET、POST等)。 - **...

    ext combox

    - `queryDelay`: 设置了在用户停止输入后延迟多少毫秒才发送请求的时间。这有助于减少不必要的网络请求,提高性能。 ### 三、实际应用案例分析 在实际项目中,如电商网站的商品搜索、社交媒体的用户查找等功能,`...

    Ext.ux.submit的例子

    虽然它没有完整的Ext JS框架那么强大,但非常适合那些只需要部分功能或希望减少页面加载时间的项目。 Ext.ux.submit扩展则是对Ext Core原有功能的补充,特别是针对表单处理。在Web应用中,表单提交通常涉及向服务器...

    Ext combo 下拉框级联

    2. **定义级联逻辑**:在`select`事件处理函数中,获取用户选择的省份ID,然后发送一个AJAX请求到后端,将这个ID作为请求参数。 3. **后端处理**:`AreaController.java`接收到请求后,根据省份ID查询数据库,获取...

    Ext-Js更换皮肤

    然而,这个过程没有在提供的代码中具体展示,但你可以使用类似的方法,比如创建一个Ajax请求,将选择的皮肤值发送到服务器,并在那里进行处理和存储。 更换皮肤的关键步骤包括以下几点: - **获取皮肤资源**:下载...

Global site tag (gtag.js) - Google Analytics