Axios拦截器

请求拦截器

1
2
3
4
5
6
7
8
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});

可添加对前置data的处理:

1
2
3
4
5
6
7
8
9
axios.interceptors.request.use(function (config) {
if(config.method == 'post'){
config.data = qs.stringify(config.data)
}
return config
},function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});

响应拦截器

1
2
3
4
5
6
7
8
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
// 对响应数据做点什么
return response;
}, function (error) {
// 对响应错误做点什么
return Promise.reject(error);
});

可添加对权限码的处理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
axios.interceptors.response.use(function (response) {
switch (response.data.code) {
case 401:
Message.error('暂无权限!')
break;
case 200:
return response;
break;
default:
break;
}
}, function (error) {
return Promise.reject(error);
});