环境是spring mvc
session过期后,点按钮没反应,用火狐看到的请求如下:
通过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
,调用 或
方法将不会被触发。
参考: http://www.css88.com/jqapi-1.9/jQuery.ajax/
用这个办法可以基本解决。
另外可以通过设置拦截ajax请求,判断session是否过期设置响应。在ajax的响应中得到。一样要写ajaxSetup
参考:http://my.oschina.net/houke/blog/213584?p=1