之前用ajax的时候,jquery中的ajax处理全局异常,通过设置ajaxSetup方法:
$.ajaxSetup({
headers: {'Authorization': header}, //添加请求头
complete:function(xhr,data){ //执行完success或者error方法后均要执行这个complete函数,可以用来捕获异常
if(xhr.status == 401){
console.log("身份过期!");
}
if(xhr.responseJSON != undefined){
if((xhr.responseJSON.code == 1) && (xhr.responseJSON.msg == "不允许访问")){
console.log("没有此操作权限!");
}
}
}
});
但是在axios实现树形菜单的时候,用到了菜单的增加、编辑与删除,因此用到了vue,但是也需要对异常请求进行全局处理,代码如下:
axios.interceptors.response.use(function (response) {
return response;
}, function (error) {
if (error.response) {
if(error.response.data.code == 1){
}
if(error.response.data.code == 1 && error.response.data.msg == "不允许访问"){
/
}
if(error.response.status == "401"){
/
}
} else if (error.request) {
console.log(error.request);
} else {
console.log('Error', error.message);
}
});
采用上述设置很简便哦,否则每个请求都要写一遍,不仅容易产生代码冗余,而且不利于维护。。
版权声明:本文为u013594477原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。