session过期ajax的处理不跳出

本文介绍在SpringMVC环境下如何处理Session过期的问题,通过使用Ajax的错误回调来实现页面重定向到登录页的功能,并探讨了$.ajaxSetup的使用及与Ajax全局方法的区别。

环境是spring mvc  

session过期后,点按钮没反应,用火狐看到的请求如下:142056_bvlv_2340612.png

通过http://www.cnblogs.com/dudu/p/ajax_302_found.html

了解

在ajax 后面加上 错误判断即可,

  error: function (xhr) {
                        if(xhr.status=="200");
                        location.href="/logout.cqzk";
                }

为避免写重复代码


可以用 ajaxSetup: 经测试,ajaxSetup里面的方法会覆盖具体ajax请求的对应方法。

$.ajaxSetup({
          error: function (xhr) {
            if(xhr.status=="200");
            location.href="/logout.cqzk";
        }
    });

另外,找解决方法的时候还了解到ajax全局方法

全局方法和具体ajax不会覆盖的。有一个执行顺序 

jquery中各个事件执行顺序如下:
     ajaxStart(全局事件)
     beforeSend
     ajaxSend(全局事件) 
     success
     ajaxSuccess(全局事件)
     error
     ajaxError (全局事件)
     complete
     ajaxComplete(全局事件)
     ajaxStop(全局事件)

另外如果global选项设置为false,调用$.ajax().ajaxStart()方法将不会被触发。


参考:    http://www.css88.com/jqapi-1.9/jQuery.ajax/


用这个办法可以基本解决。


另外可以通过设置拦截ajax请求,判断session是否过期设置响应。在ajax的响应中得到。一样要写ajaxSetup


参考:http://my.oschina.net/houke/blog/213584?p=1




转载于:https://my.oschina.net/u/2340612/blog/414790

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值