session過時ajax的處理不跳出

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

相關文章
相關標籤/搜索