700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ajax被token拦截 vue中封装ajax请求 并且拦截请求在请求头中添加token

ajax被token拦截 vue中封装ajax请求 并且拦截请求在请求头中添加token

时间:2019-03-19 23:10:21

相关推荐

ajax被token拦截 vue中封装ajax请求 并且拦截请求在请求头中添加token

/**

* 封装请求方法

* @param {Object} url 接口请求地址

* @param {Object} data 接口请求参数(无需请求方式参数,则此项可以为空,否则必须传)

* @param {Object} params 请求方式参数(可以为空)

*/

function ajax(url, data, params) {

return new Promise(function(resolve, reject) {

$.ajax({

url: url,

type: params && params.type || 'post',

dataType: params && params.dataType || 'JSON',

data: data,

beforeSend: function(xhr){

let token = store.state.token;//在vuex设置token后,通过beforeSend拦截请求并添加请求头中的token

if(token != ""){

xhr.setRequestHeader("token",token)

}

},

content-type: "application/json; charset-UTF-8",

success: function(res) {

resolve(res)

},

error: function(res) {

const data = res.responseJSON;

switch (res.status) {

//非GRT POST请求无法进入success回调,在此拦截status=200的情况

case 200:

resolve(res);

console.log(res);

return;

case 400:

alert('error.ststem.busy')

break;

case 404:

alert('error.ststem.busy')

break;

case 500:

alert('error.ststem.busy')

break;

}

}

});

});

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。