wangshuaibo 发表于 2013-2-6 08:42:36

Extjs全局验证登录是否超时

重写EXTJSExt.data.Connection的handleResponse方法:代码如下。
Ext.override(Ext.data.Connection, {
  handleResponse : function(response) {
      if(response.getResponseHeader('sessionstatus')){ //定义标识
      window.location.href='login.jsp';  //跳转页面
      }else{
          this.transId = false;
             var options = response.argument.options;
             response.argument = options ? options.argument : null;
             this.fireEvent("requestcomplete", this, response, options);
             Ext.callback(options.success, options.scope, );
             Ext.callback(options.callback, options.scope, );
      } 
 }
后台处理;
if (request.getHeader("x-requested-with") != null
   && request.getHeader("x-requested-with").equalsIgnoreCase(
     "XMLHttpRequest") ) {
  //ajax超时处理
 response.addHeader("sessionstatus", "timeout");
 } else {
  //http超时处理  
  response.addHeader("sessionstatus", "timeout");
 }
页: [1]
查看完整版本: Extjs全局验证登录是否超时