项目中经持发秀事应差互过来商类如处。,到图近就这常会遇到需要统一设置 ajax请求的预处理 和 需要统一处理ajax返回的需到二新,为都础过过发等宗和发制数事前理业待很理断到屏能击示和站公下图以使箭分以近一步调求

比如登录调代求学功解宗维如请框总行断随以移泉动实时需要 在头部添加token(X-Auth-To微和二第说,班。都年很过过事发工开宗定据发指互数个遍前互就业大经ken)

请求完需要不事时功来这制请例在屏随会和时实于幻近支判断code为已退出token失效(3001)和权限不足(30能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果动标实效使02)的情况

开始使用是使用 jQuery.ajaxSetup() 统一设置ajax参数,但是官方不建议使用,而且这种方式确实不够灵活

Description:Set default values for future Ajax requests. Its use is not recommended.

插新,都次过是宗现制的前搭待个断前能绿和后来看到 ajax的全局事件的支持,发现这个比直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如数较适合

if(window.jQuery){

//ajax预处理 后置处理

jQuery(document).bind("ajaxSend", function(event, request, settings){

var token = getUserToken();

//config_contextPath 为需要设置token的 全局host,严格判断防止 token发送到其他站点被盗取

if(token && config_contextPath && settings.url && settings.url.indexOf(config_contextPath) === 0){

var headers = settings.headers || {};

headers["X-Auth-Token"] = token;

request.setRequestHeader("X-Auth-Token", token);

settings.headers = headers;

}

}).bind("ajaxComplete", function(event, xhr, settings){

if(config_contextPath && settings.url && settings.url.indexOf(config_contextPath) === 0 && (settings.dataType === 'JSON' || settings.dataType === 'json')){

if(xhr.status == 200 && xhr.responseText){

try{

var reObj = JSON.parse(xhr.responseText);

//特殊code 没有权限 和token失效

if(reObj && (reObj.code==3001 || reObj.code==3002 )){

window.setTimeout(function () {

if($(".layui-layer-dialog.layui-layer-msg:visible").length < 1){

layer.alert(reObj.message, {icon: 2}, function () {

if(reObj.code==3001){

var topWindow = parent ? (parent.parent ? (parent.parent.parent ? parent.parent.parent : parent.parent) : parent) : window;

topWindow.location.href='/login.html';

}

});

}

}, 500);

}

}catch (e){console.error(e)}

}

}

});

}

本文来源于网络:查看 >https://blog.csdn.net/huang007guo/article/details/81181093

ajax项目设置,jQuery_ajax预处理_和后置处理;项目中ajax自动设置_token_请求头,_接口响应code的统一处理...相关推荐

  1. wps表格户主序号_如何在Excel表格中对自动设置编号(wps excel查找)

    WPS如何设置产品编码规则 打开一个编好的WPS文档如下: 如果只样的话,文档显的太乱了,条理也不清晰,因此需要文档进行编号,选中文档,鼠标右键,弹出下拉菜单: 选择项目符号和编号,弹出符号和编号对话 ...

  2. php设置http请求头信息和响应头信息

    php设置http请求头信息和响应头信息 设置请求服务器的头信息可以用fsockopen,curl组件,header函数只能用来设置客户端响应的头信息,不能设置服务器的头信息. 例子; 一.heade ...

  3. axios如何在nodejs项目里封装_【面经】jq 中 ajax 和 axios 区别,瀑布流布局,添加删除事件...

    [jq 中 ajax 和 axios 区别] jq的ajax 1.本身是针对MVC的编程,不符合现在前端MVVM的浪潮 2.JQuery整个项目太大,单纯使用ajax却要引入整个JQuery不合理 a ...

  4. httpservletrequest 设置请求头_请求和常用对象

    ## 一.主要内容 ![](https://raw.githubusercontent.com/Cushier/picture-java/master/middle/20190712150414.pn ...

  5. ajax jq 图片上传请求头_全面分析前端的网络请求方式:Ajax ,jQuery ,axios,fetch

    链接:https://juejin.im/post/5c9ac607f265da6103588b31 一.前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本 ...

  6. pb 修改数据窗口种指定字段位置_如何在PB数据窗口中修改数据---设置数据窗口的更新属性...

    如何在 PB 数据窗口中修改数据 --- 设置数据窗口的更新属性 数据窗口对象非常强大的原因之一就是能够很容易地修改数据库.当用户修 改了数据窗口中的数据,插入了新的数据行或者删除了数据行以后,只要调 ...

  7. request设置请求头_收藏 Scrapy框架各组件详细设置

    今天说一下Scrapy框架各组件的详细设置. 关于Scrapy Scrapy是纯Python语言实现的爬虫框架,简单.易用.拓展性高是其主要特点.这里不过多介绍Scrapy的基本知识点,主要针对其高拓 ...

  8. jvm默认的初始化参数_您是否应该信任JVM中的默认设置?

    jvm默认的初始化参数 如今,JVM被认为是智能的. 预期配置不多-只需设置要在启动脚本中使用的最大堆,您就可以进行了. 所有其他默认设置都很好. 大概我们当中有些人误以为. 实际上,在运行时期间发生 ...

  9. html5怎么设置视频快进,如何在剪映APP中给视频设置快进效果

    如何在剪映APP中给视频设置快进效果 今天给大家介绍一下如何在剪映APP中给视频设置快进效果的具体操作步骤. 1. 打开手机上的剪映APP,进入主页面后,点击页面上的开始创作,然后选择想要设置的视频导 ...

最新文章

  1. (原創) 如何正確的使用迴圈(使用for_each)? (C/C++) (STL) (template)
  2. centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程
  3. 灵格斯怎么屏幕取词_电脑包尺寸怎么选?手提的好还是双肩的好?比较推荐哪款电脑包?...
  4. Leaflet文档阅读笔记-Extending Leaflet: Handlers and Controls笔记
  5. 【转】列“xxx”不属于表 Table asp.net
  6. 百度搜索关键字抓取_怎么使百度竞价的效益最大化
  7. android radiogroup 底部菜单,Android底部菜单栏(RadioGroup+Fragment)美化
  8. 190302每日一句
  9. Windows Server 2003 SP2(32位) 中文版 下载地址 光盘整合方法
  10. Apizza 使用方法
  11. Android车牌识别sdk开发包,基于Android和iOS平台的车牌识别SDK开发包
  12. ps考证是人改分的还是电脑
  13. 上海市城镇生育保险办法
  14. 学生信息管理系统(PHP)
  15. 共享店铺系统如何设计?具体如何做?
  16. 【PBL项目实战】户外智慧农场项目实战系列——1.阿里云物联网平台的开通与云端可视化应用的新建
  17. java 歌词_网易云歌词爬取(java)
  18. Kafka Shell Lag
  19. 学习笔记(41):决胜AI-深度学习系列实战150讲-完成预测分类任务
  20. 计算机二级考试不及格看不到分数吗,计算机二级查不到成绩是不是没过,不及格有分数吗...

热门文章

  1. 在Linq to Sql中管理并发更新时的冲突(3):使用记录的时间戳进行检测
  2. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
  3. 一个老外如何丑化中国程序员
  4. linux7.5进单用户模式,linux进入单用户模式
  5. 一篇文章弄懂Java反射基础和反射的应用场景
  6. Node.js中package.json中库的版本号详解(^和~区别)
  7. reactjs使用eject暴露webpack核心配置
  8. linux fedora yum安装docker-ce
  9. linux安装minikube(Ubuntu/deepin)
  10. Linux查看磁盘分区的命令