解决拦截器对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 相关文章推荐
一个简单的js鼠标划过切换效果
Jun 30 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
JS随机打乱数组的方法小结
Jun 22 Javascript
jquery判断类型是不是number类型的实例代码
Oct 07 Javascript
微信小程序 中wx.chooseAddress(OBJECT)实例详解
Mar 31 Javascript
详解npm 配置项registry修改为淘宝镜像
Sep 07 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
原生JavaScript实现随机点名表
Jan 14 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中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
Angular8路由守卫原理和使用方法
2019/08/29 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python性能优化的20条建议
2014/10/25 Python
理解python中生成器用法
2017/12/20 Python
python3.4爬虫demo
2019/01/22 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
Python偏函数实现原理及应用
2020/11/20 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
区域总监的岗位职责
2013/11/21 职场文书
音乐教学案例
2014/01/30 职场文书
毕业自我评价
2014/02/05 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
辞职信如何写
2015/02/27 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
python数字转对应中文的方法总结
2021/08/02 Python