JS Ajax请求会话过期处理问题解决方法分析

  

本文实例讲述了JS Ajax请求会话过期处理问题解决方法。分享给大家供大家参考,具体如下:

  

对于页面来说,处理会话过期比较简单,一般只需在过滤器里面判断会话用户是否存在,不存在则跳转页面到登陆页即可。

  

对于Ajax请求来说,这个办法则无效,只能获取到登录页的html代码。原因在于Ajax请求是<代码> XMLHTTPRequest> XMLHTTPRequest>   

  

<>强服务器端

  

可在返回的<代码> ResponseHeader>         尝试{//Ajax请求会话过期处理   字符串requestType=request.getHeader (“X-Requested-With”);   如果(StringUtils.isNotEmpty (requestType),,requestType.equalsIgnoreCase (XMLHttpRequest)) {   响应。setHeader (“SessionStatus”、“sessionTimeOut”);   requestContext.abortWith (Response.status (401) .build ());   返回;   }//处理页面跳转   .build requestContext.abortWith (Response.accepted () ());   response.sendRedirect (loginPath);   }捕捉(IOException ex) {//什么都不做   }      之前      

<强> Javascript端

  

可通过JQuery的<代码> ajaxComplete 方法进行处理,判断发送请求时是否会话已过期。

     /* *   * ajax请求判断会话是否已过期   */美元(文档)。ajaxError(函数(事件、jqXHR选项,errorMsg) {   var sessionStatus=jqXHR.getResponseHeader (“sessionStatus”);   如果(sessionStatus,,sessionStatus===sessionTimeOut) {   alert("您的会话已过期,请重新登录”);   的位置。href=" https://www.yisu.com/zixun/login ";   }   });      之前      

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript ajax中操作技巧总结》,《JavaScript错误与调试技巧总结》,《JavaScript数据结构与算法技巧总结》,《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

  

希望本文所述对大家JavaScript程序设计有所帮助。

JS Ajax请求会话过期处理问题解决方法分析