daichangfu 发表于 2013-1-29 10:30:34

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]
查看完整版本: Ajax请求Session超时的解决办法、servlet + jquery