> php教程 > PHP开发 > 본문

Ajax 제출 세션 시간 초과 점프 페이지는 전역 방법을 사용하여 처리합니다.

高洛峰
풀어 주다: 2017-01-07 09:33:53
원래의
1284명이 탐색했습니다.

필터에 다음 메소드를 작성하십시오.

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); 
} 
}
로그인 후 복사

이런 방식으로 세션 시간이 초과되고 Ajax 요청인 경우 응답 헤더 sessionstatus에 시간 초과가 발생합니다. >
그런 다음 전역 메서드를 사용하여 세션 시간 초과 시 이동할 페이지를 처리합니다.

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 제출 세션 시간 초과 점프 페이지를 보려면 전역 메소드를 사용하여 관련 기사를 처리하세요. 비용을 지불하세요. PHP 중국어 넷에 주목하세요!


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿