首頁 php教程 PHP开发 ajax提交session超時跳躍頁面使用全局的方法來處理

ajax提交session超時跳躍頁面使用全局的方法來處理

Jan 07, 2017 am 09:33 AM

在過濾器中寫入如下方法: 

public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException, ServletException { 
HttpServletRequest httprequest = (HttpServletRequest) request; 
HttpServletResponse httpresponse = (HttpServletResponse) response; 
String url = httprequest.getRequestURL().toString(); 
if (httprequest.getSession()== null) { 
if (httprequest.getHeader("x-requested-with") != null 
&& httprequest.getHeader("x-requested-with").equals( 
"XMLHttpRequest")) { // ajax请求 
httpresponse.setHeader("sessionstatus", "timeout"); 
} else { 
httpresponse.sendRedirect("/test/index.jsp"); 
return; 
} 
} else { 
chain.doFilter(request, response); 
} 
}
登入後複製

這樣,如果session超時,而且是ajax請求,就會在響應頭裡,sessionstatus有一個timeout; 

再用一個全局的方法來處理,session逾時要跳轉的頁面。 

jquery 可以用$.ajaxSetup 方法,ext也有類似的方法: 

//全局的ajax访问,处理ajax清求时sesion超时 
$.ajaxSetup({ 
contentType : "application/x-www-form-urlencoded;charset=utf-8", 
complete : function(XMLHttpRequest, textStatus) { 
var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus"); // 通过XMLHttpRequest取得响应头,sessionstatus, 
if (sessionstatus == "timeout") { 
// 如果超时就处理 ,指定要跳转的页面 
window.location.replace("/test/index.jsp"); 
} 
} 
});
登入後複製

更多ajax提交session超時跳轉頁面使用全局的方法來處理相關文章請關注PHP中文網!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)