Heim > php教程 > PHP开发 > Hauptteil

Die Timeout-Sprungseite für die Ajax-Übermittlungssitzung verwendet eine globale Methode zur Verarbeitung

高洛峰
Freigeben: 2017-01-07 09:33:53
Original
1284 Leute haben es durchsucht

Schreiben Sie die folgende Methode in den Filter:

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); 
} 
}
Nach dem Login kopieren

Wenn die Sitzung abläuft und es sich um eine Ajax-Anfrage handelt, wird im Antwortheader, sessionstatus, ein Timeout angezeigt >
Verwenden Sie dann eine globale Methode, um die Seite zu verwalten, die bei Zeitüberschreitung der Sitzung übersprungen werden soll.

jquery kann die Methode $.ajaxSetup verwenden, und ext verfügt über eine ähnliche Methode:

//全局的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"); 
} 
} 
});
Nach dem Login kopieren
Für weitere Ajax-Übermittlungssitzungs-Timeout-Sprungseiten verwenden Sie globale Methoden, um verwandte Artikel zu verarbeiten. Bitte zahlen Sie Achtung PHP Chinese Net!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage