环境是spring mvc css
session过时后,点按钮没反应,用火狐看到的请求以下:html
经过http://www.cnblogs.com/dudu/p/ajax_302_found.htmljquery
了解ajax
在ajax 后面加上 错误判断便可,
spring
error: function (xhr) {
if(xhr.status=="200");
location.href="/logout.cqzk";
}api
为避免写重复代码session
能够用 ajaxSetup: 经测试,ajaxSetup里面的方法会覆盖具体ajax请求的对应方法。
mvc
$.ajaxSetup({
error: function (xhr) {
if(xhr.status=="200");
location.href="/logout.cqzk";
}
});测试
另外,找解决方法的时候还了解到ajax全局方法.net
全局方法和具体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