你的位置:首页 > 软件开发 > Java > ajax前置处理实现异步请求session过期时跳转登录页面

ajax前置处理实现异步请求session过期时跳转登录页面

发布时间:2015-12-18 15:00:14
第一篇博文,mark一下zhq[0]。问题描述:用户页面,当session过期或都session注销后,普通页面后端都会有过滤器,session过期Redirect到登录页面,但是ajax请求后端只会返回登录页面源码并不跳转。网上有很多方法1.返回的字符串附加登录状态2.修改ht ...

第一篇博文,mark一下zhq[0]。

问题描述:用户页面,当session过期或都session注销后,普通页面后端都会有过滤器,session过期Redirect到登录页面,但是ajax请求后端只会返回登录页面源码并不跳转。

网上有很多方法1.返回的字符串附加登录状态2.修改http头信息;3.修改jquery源文件判断;综合比较还是以下方法最方便更易维护。个中缺点大家应该都明了就不赘述。

解决方案:

jQuery(function($){  // 备份jquery的ajax方法   var _ajax=$.ajax;  // 重写ajax方法,  $.ajax=function(opt){    var _success = opt && opt.success || function(a, b){};    var _error = opt && opt.error || function(a, b){};    var _opt = $.extend(opt, {      success:function(data, textStatus){        // 如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要判断(登录页面一般是源码,所以这里只判断是否有html标签)        if(data.indexOf('html') != -1) {          window.location.href= "http://www.baidu.com";          return;        }        _success(data, textStatus);      },     error:function(data, textStatus){      if(data.responseText.indexOf('html') != -1){       window.location.href= "http://www.baidu.com";       return;      }      _error(data, textStatus);     }     });    return _ajax(_opt);  };});}); 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ajax前置处理实现异步请求session过期时跳转登录页面

关键词:ajax

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。