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

前台

jQuery(function($){
    // 备份jquery的ajax方法  
    var _ajax=$.ajax;
    // 重写ajax方法,先判断登录在执行success函数 
    $.ajax=function(opt){
        var _success = opt && opt.success || function(a, b){};
        var _opt = $.extend(opt, {
            success:function(data, textStatus){
                // 如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要找到data是登录页的证据(标记)
                if(data.timeout){
                    alert("对不起,由于您长时间未操作或登陆已超时,请您重新登陆");
                    top.location.href= "/项目名/...";
                    return;
                }
                _success(data, textStatus);  
            }  
        });
        _ajax(_opt);
    };
});

filter

PrintWriter out = response.getWriter();
response.setCharacterEncoding("UTF-8");  
response.setContentType("application/json; charset=utf-8");
html = "{\"timeout\":\"true\"}";
out.print(html);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值