ajax session超時處理

1.問題:  客戶端發出了一個ajax請求,可是此時session超時了ajax

2.解決方法:session

服務端: 在過濾器或者攔截器中,判斷ajax請求類型,設置一個超時標誌jsp

客戶端:ajax請求要求有一個全局處理函數 ,獲取相應標誌,作出相應處理函數

 

  1. 過濾器中加入:
  2. // 若是是ajax請求響應頭會有,x-requested-with;  
      if (req.getHeader("x-requested-with") != null && req.getHeader("x-requested-with").
                            equalsIgnoreCase("XMLHttpRequest"))
        {  
                      res.setStatus(911);//表示session timeout 
                      return;
         }

前臺全局處理ajax:spa

$.ajaxSetup({
        timeout:4000,
        cache:false,
        complete : function(xhr, textStatus) {
            //session timeout  
            if (xhr.status == 911)
            {  
              window.location.href = "../login.jsp"//返回應用首頁  
                return;  
            }  
        }  
});
相關文章
相關標籤/搜索