解决拦截器对ajax请求的拦截实例详解


Posted in Javascript onDecember 21, 2016

解决拦截器对ajax请求的的拦截

拦截器配置:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object obj) throws Exception {
    
    //获取判定登陆的session是否存在
    String token = (String) request.getSession().getAttribute("token");
    String postId = (String) request.getSession().getAttribute("postId");
    if(token == null || token == ""){
      String XRequested =request.getHeader("X-Requested-With");
      if("XMLHttpRequest".equals(XRequested)){
        response.getWriter().write("IsAjax");
      }else{
        response.sendRedirect("/m-web/user/toLogin");
      }
      return false;
    }
    if(postId == null || postId == ""){
      String XRequested =request.getHeader("X-Requested-With");
      if("XMLHttpRequest".equals(XRequested)){
        response.getWriter().write("IsAjax");
      }else{
        response.sendRedirect("/m-web/user/toLogin");
      }
      return false;
    }
    return true;
  }

1、判断 String XRequested =request.getHeader("X-Requested-With") 的值,目的是判断是否是ajax请求。

2、response.getWriter().write("IsAjax");写出一个响应的数据给ajax,这样就可以在ajax里面做判断

判断的方式存在两种方式:

1)直接在ajax里面做判断(不建议)

success:function(data){
  if(data == "IsAjax"){
    window.location.href="m-web/user/toLogin"
    return;
  }
}

2)改ajax源码然后在做压缩,是针对全局的方式来修改的(建议)

 if ( isSuccess ) {// if no content
        if ( status === 204 || s.type === "HEAD" ) {
          statusText = "nocontent";

        // if not modified
        } else if ( status === 304 ) {
          statusText = "notmodified";

        // If we have data, let's convert it
        } else {
          statusText = response.state;
          success = response.data;
          error = response.error;
          isSuccess = !error;
          //解决ajax拦截问题
          var result = responses.text;
          if(result.indexOf("IsAjax")>=0){
            window.location.href="m-web/user/toLogin";
            return;
          }
        }
      }

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
Javascript浅谈之this
Dec 17 Javascript
jQuery对Select的操作大集合(收藏)
Dec 28 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
原生js实现数字字母混合验证码的简单实例
Dec 10 Javascript
JavaScript面试题(指针、帽子和女朋友)
Nov 23 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
Feb 21 Javascript
vue实现点击隐藏与显示实例分享
Feb 13 Javascript
Vue实现购物车详情页面的方法
Aug 20 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
Apr 07 Javascript
vue组件系列之TagsInput详解
May 14 Javascript
Openlayers显示瓦片网格信息的方法
Sep 28 Javascript
原生的强大DOM选择器querySelector介绍
Dec 21 #Javascript
懒加载实现的分页&&网站footer自适应
Dec 21 #Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 #Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 #Javascript
详解jQuery选择器
Dec 21 #Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 #Javascript
js实现可输入可选择的select下拉框
Dec 21 #Javascript
You might like
php修改时间格式的代码
2011/05/29 PHP
PHP中的替代语法介绍
2015/01/09 PHP
PHP常用的小程序代码段
2015/11/14 PHP
php时间计算相关问题小结
2016/05/09 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
高三语文教学反思
2014/01/15 职场文书
庆八一活动方案
2014/01/25 职场文书
学生喝酒检讨书
2014/02/06 职场文书
幼儿园安全责任书
2014/04/14 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
2014年教研员工作总结
2014/12/23 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
导游词之无锡唐城
2019/12/12 职场文书