vueではajaxリクエストをカプセル化し、ブロックリクエストはリクエストヘッダにtokenを追加する
1977 ワード
/**
*
* @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;
}
}
});
});
}