`
Relucent
  • 浏览: 209218 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于Extjs异步session超时问题处理

    博客分类:
  • JS
阅读更多

关于Extjs异步session超时问题处理


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

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

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

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

 

JAVA

if( 超时 ){
    if("XMLHttpRequest".equals(request.getHeader("x-requested-with"))){
        response.setStatus(401);
    }
}

 

JAVASCRIPT

 

Ext.Ajax.on('requestcomplete',function(conn,response,options) { 
    if(response.statusText==401){
        Ext.Msg.alert('提示', '会话超时,请重新登录!', function(){
            window.location = 'http://localhost:8080/login.jsp'; 
        });
    }
});

 

 

分享到:
评论

相关推荐

    ExtJs异步请求和特殊用途

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

    extjs异步树-每个节点都异步加载-前后台代码都有-附整个工程

    在家研究了一下extjs异步树,-每个节点都异步加载-前后台代码都有-附整个工程-运行通过-前台代码请看doctree.js,后台代码请看TreeService.java,运行环境:Myeclipse6.5+tomcat7.0.27

    extjs异步树,多选树,json数据机构,集成spring,struts例子

    extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json...

    extjs session失效解决方案

    使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了

    Extjs+Struts2实现异步文件上传

    网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。

    extjs tree 异步加载树型

    异步加载树型是 ExtJS Tree 的一个重要特性,允许只在需要时动态加载子节点,从而提高页面的加载速度和用户体验。 异步加载通常通过 AJAX 请求实现,只有当用户展开一个节点时,才会向服务器请求该节点的子节点数据...

    ExtJs4.1.1a 异步树&级联选择

    说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!

    ExtJS构造动态异步加载

    本文将深入探讨如何使用ExtJS构建动态异步加载的树形结构,结合AJAX技术实现JSON数据的高效传输。 首先,我们要理解什么是动态异步加载。在传统的网页开发中,如果一次性加载所有数据,可能会导致页面加载速度慢,...

    ExtJS3 实现异步下拉树

    在ExtJS 3中,实现异步下拉树涉及到几个关键概念和技术。 首先,理解“异步”意味着数据不是一次性加载完毕,而是按需加载。在下拉树中,当用户展开树节点时,只加载该节点及其子节点的数据,这减少了初始页面加载...

    extjs四种异步提交

    在EXTJS中,异步提交数据是常见的操作,主要用于与服务器进行无刷新的数据交互。这里提到了EXTJS的四种异步提交方式,分别是基于EXT JS的Ajax方法、指定HTML表单的Ajax提交、EXT JS自定义表单的提交以及使用Action...

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

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

    Extjs4树结构异步加载

    对于异步加载,我们需要配置TreeStore,设置`autoLoad`为`false`以阻止初始加载,并提供一个`proxy`对象来处理异步请求。 2. **Proxy**: 树结构的异步加载通常使用`AjaxProxy`或`JsonPProxy`,根据服务器端支持的...

    extJS4升级至extJS6.6所遇问题及解决方案

    项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议

    Extjs grid 中文排序问题修正

    中文排序问题通常出现在以下情况:EXTJS Grid默认的排序算法可能无法正确处理UTF-8编码的中文字符,因为中文字符的排序不能简单地通过ASCII值来比较。为了解决这个问题,我们可以自定义排序函数。 自定义排序函数的...

    ajax提交session超时跳转页面使用全局的方法来处理

    总结来说,处理AJAX请求时的Session超时问题,主要分为两步:一是服务器端检测并标记Session超时,二是客户端监听响应并根据标记进行页面跳转。这种方法可以确保无论用户何时何地发起AJAX请求,一旦Session超时,都...

    ExtJS内存泄漏问题详解

    关于ExtJS内存泄漏问题,一直是ExtJS开发人员困扰的问题,这篇文档很好地解释了什么是内存泄漏,为什么会产生内存泄漏。能够帮助程序员使用ExtJS开发出更高效安全的代码。

    extjs2----关于extjs 的使用,操作

    在标题"extjs2----关于extjs 的使用,操作"中,我们可以看出这是一份关于ExtJS 2.0版本的使用指南,主要涵盖了其基本操作和应用。描述中提到内容较为初级,适合初学者学习,这表明我们将探讨的是ExtJS的基础概念和...

    ExtJs Ajax 同步问题

    4. **使用Promise**:在ExtJS 5及以上版本,可以利用Promises处理异步操作,这提供了更优雅的错误处理和流程控制。 5. **全局配置**:可以通过`Ext.Ajax.defaults`来设置默认的Ajax请求配置,如全局的`async`设置。...

    ext异步跳转问题(解决过滤器的问题)

    总结一下,解决Ext异步跳转问题的关键在于正确地使用过滤器和处理异步请求的生命周期。在Java后端,过滤器可以拦截请求,根据需要进行处理,如强制跳转。而在Ext JS前端,我们需要监听请求事件,适时响应过滤器设置...

    extjs3.0 ajax 同步请求

    在上述代码片段中提到了一个关于浏览器兼容性的问题:“在 Firefox 12 中使用时,无法在 IE 和 Chrome 中使用,需要进行一些修改。”这可能是由于不同浏览器对 XMLHttpRequest 对象的支持程度不同所导致的。 解决这...

Global site tag (gtag.js) - Google Analytics