`

extjs 超时处理

阅读更多
对于HTTP超时的判断,我们可以通过过滤器Filter来判断。
如果页面超时,我们可以使用诸如request.forward() 之类的方法跳转到登陆页面。

但是对于Ajax请求,request.forward()就无能为力了。
并不是因为request.forward()不起作用,而是因为AJAX的原理,所以整个页面是不会做刷新操作。
(PS: request.forward()后的页面文本能够通过XMLHttpRequest.responseText获取)

于是我们需要另一种方法来进行跳转。

其中简单的方法是设置httpStatus的状态,然后ExtJs监听



JAVA

Java代码 
1.if( 超时 ){  
2.    if("XMLHttpRequest".equals(request.getHeader("x-requested-with"))){  
3.        response.setStatus(401);  
4.    }  
5.} 
if( 超时 ){
    if("XMLHttpRequest".equals(request.getHeader("x-requested-with"))){
        response.setStatus(401);
    }
}

JAVASCRIPT



Js代码 
1.Ext.Ajax.on('requestcomplete',function(conn,response,options) {   
2.    if(response.statusText==401){  
3.        Ext.Msg.alert('提示', '会话超时,请重新登录!', function(){  
4.            window.location = 'http://localhost:8080/login.jsp';   
5.        });  
6.    }  
7.}); 
分享到:
评论

相关推荐

    Extjs4使用要点个人整理

    7. **Ajax提交超时**:`Extjs ajax提交超时.txt`可能涉及Ajax请求的超时设置和处理。在ExtJS中,可以设置请求的timeout属性来指定超时时间,并通过监听'exception'事件来处理超时情况。 8. **改变树的默认样式**:`...

    合同管理系统 extjs开发的 让大家一起学习

    5. **提醒与通知**:EXTJS支持事件监听和触发,可以实现合同到期、审批超时等重要事件的自动提醒。 在实际部署过程中,`setup.exe`是安装程序,用户可以通过运行这个文件来安装合同管理系统。`安装说明.txt`则提供...

    ExtJs异步请求和特殊用途

    ExtJS使用了`Ext.Ajax`对象来处理异步请求。它封装了XMLHttpRequest对象,提供了发送GET、POST、PUT、DELETE等各种HTTP请求的方法。开发者可以通过配置参数,如URL、方法、参数、请求头、回调函数等,定制化请求...

    extjs3.3 中文文档

    10. **Ajax请求和响应处理**:Ext.Ajax模块提供了发送和处理Ajax请求的API,可以设置请求头、参数、超时、回调函数等。 总的来说,ExtJS 3.3中文文档是学习和掌握这个JavaScript框架的关键资源。通过阅读和实践,...

    EXTJS 风格的工作流 workflow workflowdefine 纯JS源代码

    3. **状态(state)**:工作流中的任务通常处于不同的状态,如等待处理、进行中、已完成等。状态转换是工作流的核心部分,定义了任务之间的关系。 4. **转移(transition)**:状态之间的转变,通常基于预设条件或...

    extjs实现登陆验证

    从初始化组件、构建表单到处理用户输入,每一步都体现了ExtJS在Web应用开发中的强大功能和灵活性。理解这些代码背后的逻辑,不仅能够帮助开发者快速搭建登录界面,还能够深入掌握ExtJS框架的使用技巧,提升前端开发...

    extjs属性方法大全

    - `timeout`: 超时时间,默认为 30 秒。 - `trackResetOnLoad`: 是否在加载后重置表单。 - **方法:** - `doAction(String/Object actionName, [Object options])`: 执行表单动作。 - `getValues([Boolean as...

    Extjs4.2前台导出Excel(多次导出失败bug已修改)

    总之,使用Extjs4.2进行前台导出Excel是一项实用的功能,但需要注意处理好前端的资源管理、文件命名、数据同步和错误处理等问题,以提供良好的用户体验。通过对这些细节的优化,可以避免常见的问题,使得导出功能...

    extjs对ajax的支持文档

    - Ext.Ajax是ExtJS中的核心模块,用于处理所有与Ajax相关的操作。它提供了发送异步请求、处理响应和错误处理等功能。 - 使用`Ext.Ajax.request`方法发起Ajax请求,该方法接受一系列参数,如URL、方法(GET或POST)...

    extjs中文api

    在ExtJS中,事件处理是非常重要的一个方面,它使得用户可以与页面元素进行交互。例如,通过以下代码可以为一个HTML元素绑定点击事件: ```javascript Ext.get('b').on('click', function() { // 这里是点击事件...

    Ajax框架ExtJS3.0源代码

    4. **Ajax通信**:Ext.Ajax模块提供了一套完整的AJAX请求处理机制,包括异步请求、响应处理、请求头设置、超时控制等功能,使得与服务器的数据交换变得简单。 5. **事件驱动**:事件系统是ExtJS的重要组成部分,...

    Extjs 4.1 (MVC) 如何动态加载控制层以及session 过期该如何处理

    通过这种方式,EXTJS 4.1 MVC应用能够智能地处理动态加载控制器,同时优雅地处理Session过期的情况,确保用户有一个顺畅的使用体验。动态加载控制器和Session管理是构建大型、可扩展Web应用的基础,它们有助于提高...

    Extjs 聊天窗口 -续2 - http长连接的实现

    在实际项目中,你可能还需要考虑一些其他因素,例如错误处理、连接超时、心跳机制以检测断开的连接等。 此外,标签"源码"暗示我们可能需要查看和分析源代码来了解实现的具体细节。在提供的压缩包文件“chat”中,...

    extjs整合ssh框架

    同时,需要在`web.xml`中配置EXTJS的静态资源路径,以使服务器能够正确处理EXTJS的CSS和JavaScript文件。 **步骤5:配置Tomcat的GZIP压缩** 为了提高性能,我们可以启用Tomcat的GZIP压缩。在Tomcat的`conf/server....

    extjs-form组件配置参数详解

    `Ext.form.Action`是ExtJS中的一个类,用于处理表单提交和加载数据的动作。它提供了多种配置选项和属性来控制表单操作的过程。 **配置项** - **success**: 执行成功后的回调函数,该函数接收两个参数:`form`(当前...

    extJs+2.1学习笔记.pdf

    理解JsonReader的配置项,如root、idProperty等,能确保数据正确地被Store接收和处理。 8. **Ext.data.HttpProxy篇** HttpProxy是Store获取远程数据的主要方式,通过HTTP请求与服务器交互。了解如何设置URL、参数...

    ExtJs ajax提交

    - ExtJS提供了强大的Ajax支持,封装了XMLHttpRequest对象,简化了异步请求的处理。 2. **Ext.Ajax类** - Ext.Ajax是ExtJS中处理Ajax请求的主要类,提供了发送GET、POST等HTTP请求的方法。 - 使用`Ext.Ajax....

    ExtJS对Ajax的支持

    此方法还支持设置超时时间、上传进度事件监听等功能,极大地增强了其灵活性和实用性。 ##### 1.2 Ext.Ajax.request提交XML数据 在某些情况下,可能需要将数据以XML格式发送到服务器。`Ext.Ajax.request`方法同样...

    extjs数据存储与传输

    `Ext.data`是Extjs框架中处理数据的核心模块,它提供了一套全面的数据处理解决方案,包括数据的存储、读取、转换以及与服务器的通信。此模块定义了一系列关键组件,如Store、Reader、Proxy,它们共同协作,使得数据...

Global site tag (gtag.js) - Google Analytics