環境是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