Ajax请求Session超时的解决办法、servlet + jquery
问题:1. session超时了,客户端发出了一个ajax请求
解决思路:
1. filter判断出ajax请求,设置一个响应头标志
2. 客户端ajax请求要求有一个全局处理函数,获取相应标志,做出相应处理
解决办法:
//如果是ajax请求响应头会有,x-requested-with;if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){//在响应头设置session状态 response.setHeader("sessionstatus", "sessionOut");response.getWriter().print("sessionOut");return null;} $.ajaxSetup({ contentType:"application/x-www-form-urlencoded;charset=utf-8", complete:function(XMLHttpRequest,textStatus){// 通过XMLHttpRequest取得响应头,sessionstatus,var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus");if(sessionstatus=="sessionOut"){ window.location.replace(webPath+"/common/toIndex.html"); }}});
页:
[1]