关于axios的拦截器是一个作用非常大,非常好用的东西。分为请求拦截器和响应拦截器两种。
一般作用与token的拼接 还有在请求前会出现一个动态的loading图,在响应后隐藏此loading图等等 可以使我们减少代码量 提高性能
我一般都是在src地下新建一个文件夹utils底下的 request.js 或者 http.js里面
request.js
//这是我在拼接token值的时候
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
// console.log(config.url).
/*
根据自己的需求来设置自己需要的代码请求
if(config.url!='user/myinfo/formdatahead?token=1ec949a15fb709370f'){
// console.log(111)
if (config.params == undefined) {
config.params = {}
Object.assign(config.params, {
token: "1ec949a15fb709370f",
})
} else {
Object.assign(config.params, {
token: "1ec949a15fb709370f",
})
}
if(config.method=='post'){
判断post请求 用qs序列化
config.data=qs.stringify(config.data)
}
} */
return config;
}, function (error) {
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
return response;
}, function (error) {
return Promise.reject(error);
});
//
class http {
static get(url, params) {
return axios.get(url, { params: params })
}
static post(url, params) {
return axios.post(url, params)
}
}
export default http