jquery ajax 设置请求头header 参数

// 先假装有loading组件(util.hideLoading, util.showLoading),util.toast组件, time:表示loading时间


 

 

let ajax = (url, data = {}, params = {

showLoading: true,
showError: false,
method: 'GET', // 默认是GET,POST
dataType: 'json',
loadingTxt: '加载中...',
headers: {}
}) => {
return new Promise(( resolve, reject) => {
let { method, showLoading = true, showError, loadingTxt, dataType, headers = {} } = params

if ( headers[ 'Content-Type']. indexOf( 'application/json') > - 1) {
if ( method. toUpperCase() == 'POST') {
data = JSON. stringify( data)
}
}
showLoading && util. show Loading ( loadingTxt , time )
let starttime = Number( new Date());
$. ajax({
url,
type: method. toUpperCase(),
dataType,
xhrFields: {
withCredentials: true
},
crossDomain: true,
data,
headers: {
... headers
}
})
. done( res => {
util.hide Loading();
let {
code,
} = res;
if ( res. returnCode == 200 || res. isSuccess || res. successful) {
resolve( res. result || res. value || res. data); // 看后端怎么包装返回数据
} else {
showError && util. toast( res. message || res. returnMsg);
reject( res);
}
})
. fail( res => {
showLoading && util.hideL oading();
reject( res && res. data);
})
. always( res => {
console. log( '-'. repeat( 51))
console. log( "request data:", { url, data });
console. log( "request params:", params);
console. log( 'response data', res);
console. log( 'excute time: ', ( Number( new Date()) - starttime) + 'ms');
console. log( '-'. repeat( 51))
})

})
}

转载于:https://www.cnblogs.com/xuLessReigns/p/11211975.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值