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

项目中经持发秀事应差互过来商类如处。,到图近就这常会遇到需要统一设置 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值