重写ajax方法实现请求session过期时跳转登录页面

本文介绍了一种处理Ajax请求时session超时的方法,通过重写和扩展Ajax的error方法,集中处理session过期导致的错误,确保在session过期时能正确跳转到登录页面。在error方法中,通过判断xhr.status和错误信息来确定session是否超时。
摘要由CSDN通过智能技术生成

今天的任务是处理ajax请求session超时,如果session过期需要跳转到登录页面。

如果为每一个ajax请求都写上处理session超时的处理代码,太麻烦了。就算是写到公共方法里面,在每一个ajax请求的处理函数里引用,也是非常不保险的,万一有其他人或者新人写ajax请求,并没有加上这段公共代码,就会漏掉。

所以最好的方法是重写、扩展ajax方法,把异常集中处理。

在网上查到一个可行的方法,重写ajax,扩展success方法。代码如下:

jQuery(function($){  
    var _ajax=$.ajax;   // 备份jquery的ajax方法
    $.ajax=function(opt){  
        var _success = opt && opt.success || function(a, b){};  //获取ajax请求参数中的success方法;
        var _opt = $.extend(opt, {  
            success:function(data, textStatus){  
                // 如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要找到data是登录页的标记
                //(这里是在文件中加了“weinianjie”然后注释掉。)  
                if(data.indexOf('weinianjie') != -1) {  
                    window.location.href= Globals.ctx + "/login
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值