Maison >php教程 >PHP开发 >La page de renvoi du délai d'expiration de la session de soumission Ajax utilise une méthode globale pour gérer

La page de renvoi du délai d'expiration de la session de soumission Ajax utilise une méthode globale pour gérer

高洛峰
高洛峰original
2017-01-07 09:33:531328parcourir

Écrivez la méthode suivante dans le filtre :

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); 
} 
}

De cette façon, si la session expire et qu'il s'agit d'une requête ajax, il y aura un délai d'attente dans l'en-tête de réponse, sessionstatus
Utilisez ensuite une méthode globale pour gérer la page à sauter lorsque la session expire.

jquery peut utiliser la méthode $.ajaxSetup, et ext a une méthode similaire :

//全局的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"); 
} 
} 
});
Pour plus de pages de renvoi de délai d'expiration de session de soumission ajax, utilisez des méthodes globales pour gérer les articles associés, veuillez payer attention au net chinois PHP !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn