全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

解决拦截器对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;
          }
        }
      }

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


# 拦截器  # ajax请求拦截  # ajax请求拦截详解  # 解决拦截器  # ajax请求拦截实例  # 用jQuery.ajaxSetup实现对请求和响应数据的过滤  # jquery的ajax如何使用ajaxSetup做全局请求拦截  # 两种  # 希望能  # 谢谢大家  # 是否存在  # 就可以  # 判断是否  # 目的是  # getAttribute  # postId  # String  # write  # getSession  # token  # null  # getHeader  # Requested  # XMLHttpRequest  # equals  # getWriter 


相关文章: 微信h5制作网站有哪些,免费微信H5页面制作工具?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何快速上传建站程序避免常见错误?  如何快速生成专业多端适配建站电话?  实例解析angularjs的filter过滤器  青浦网站制作公司有哪些,苹果官网发货地是哪里?  如何彻底卸载建站之星软件?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  沈阳制作网站公司排名,沈阳装饰协会官方网站?  如何用wdcp快速搭建高效网站?  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何通过.red域名打造高辨识度品牌网站?  如何在阿里云域名上完成建站全流程?  济南网站制作的价格,历城一职专官方网站?  Python如何创建带属性的XML节点  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  中山网站制作网页,中山新生登记系统登记流程?  香港服务器如何优化才能显著提升网站加载速度?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  香港服务器选型指南:免备案配置与高效建站方案解析  建站主机空间推荐 高性价比配置与快速部署方案解析  如何通过IIS搭建网站并配置访问权限?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  微信小程序 五星评分(包括半颗星评分)实例代码  jQuery 常见小例汇总  如何在云主机上快速搭建网站?  如何在Windows环境下新建FTP站点并设置权限?  已有域名和空间,如何快速搭建网站?  网站制作需要会哪些技术,建立一个网站要花费多少?  Android自定义listview布局实现上拉加载下拉刷新功能  PHP 500报错的快速解决方法  香港服务器租用每月最低只需15元?  建站之星如何取消后台验证码生成?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  制作销售网站教学视频,销售网站有哪些?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  湖北网站制作公司有哪些,湖北清能集团官网?  如何快速搭建支持数据库操作的智能建站平台?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  建站之星下载版如何获取与安装?  c++ stringstream用法详解_c++字符串与数字转换利器  如何快速使用云服务器搭建个人网站?  如何选择最佳自助建站系统?快速指南解析优劣  建站之星伪静态规则如何正确配置?  如何挑选高效建站主机与优质域名?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何获取免费开源的自助建站系统源码? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。