1.問題: 客戶端發出了一個ajax請求,可是此時session超時了ajax
2.解決方法:session
服務端: 在過濾器或者攔截器中,判斷ajax請求類型,設置一個超時標誌jsp
客戶端:ajax請求要求有一個全局處理函數 ,獲取相應標誌,作出相應處理函數
// 若是是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; } } });