解决拦截器对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 相关文章推荐
制作特殊字的脚本
Jun 26 Javascript
js 图片轮播(5张图片)
Dec 30 Javascript
js性能优化 如何更快速加载你的JavaScript页面
Mar 17 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
Mar 11 Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
jQuery中show与hide方法用法示例
Sep 16 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
Feb 28 Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 Javascript
JS实现搜索关键词的智能提示功能
Jul 07 Javascript
vue实现购物车案例
May 30 Javascript
vant 时间选择器--开始时间和结束时间实例
Nov 04 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中的string类型使用说明
2010/07/27 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
Python遍历指定文件及文件夹的方法
2015/05/09 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
联想德国官网:Lenovo Germany
2018/07/04 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
五年级数学教学反思
2014/02/11 职场文书
体育教学随笔感言
2014/02/24 职场文书
文化活动实施方案
2014/03/28 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
答谢词范文
2015/01/05 职场文书
教师考核鉴定意见
2015/06/05 职场文书
关于保护环境的建议书
2019/06/24 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
python not运算符的实例用法
2021/06/30 Python