zoukankan      html  css  js  c++  java
  • session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java推断是否是ajax请求)

    在登录过滤器中。推断请求是ajax请求还是超链接或者地址栏变化的请求

     if (httpServletReq.getHeader("x-requested-with") != null
                                && httpServletReq.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest"))
                        {
                            JSONObject jsessiontimeout = new JSONObject();
                            jsessiontimeout.put("sessiontimeout", true);
                            response.getWriter().print(jsessiontimeout.toString());
                            response.getWriter().flush();
                            response.getWriter().close();
                        }
                        else {
                            goLogin(httpServletReq, httpServletRes);
                        }

    js

    /*******************************************************************************
     * 推断session是否超时。全部动态请求都须要进行推断
     ******************************************************************************/
    function cheackSessionTimeOut(data){
     
     if(isJson(data))
     {
      if(data.sessiontimeout==true){
        //重装浏览器地址栏的地址,跳到登陆页面
       window.location.reload();
      }
     }
    };

    在全部ajax请求数据成功之后都调用 cheackSessionTimeOut(data);

     $.post(
            url,
            {},
            function(data)
            {   
               cheackSessionTimeOut(data);
            }    
         );  

  • 相关阅读:
    java xpath
    structs2 Interceptor
    jetbrains idea web help
    Java xpath example code THE RIGHT WAY
    java xpath engine
    本地安装jruby到maven仓库,由于公司网络不给力
    skybe的linux下的版本下载
    mybastis学 rails有migration了
    Using Java from Ruby with JRuby IRB
    PropertyPlaceholderConfigurer
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6853211.html
Copyright © 2011-2022 走看看