拦截器
在axios请求或响应被?then ?或?catch ?处理前拦截它们。
// 请求拦截器
axios.interceptors.request.use((config)=>{
console.log('请求被拦截');
console.log(config);
// 手动更改所有的请求方式为post
config.method ='post';
// 请求拦截中要把拦截到的东西return出去 等待响应
return config
});
// 响应拦截器
axios.interceptors.response.use(()=>{
console.log('响应被拦截');
})
移除拦截器?(类似清除定时器)
// 请求拦截器 用变量接收 便于后面移除拦截器
const ceptors_req = axios.interceptors.request.use((config)=>{
console.log('请求被拦截');
// 手动更改所有的请求方式为post
config.method ='post';
// 清除拦截器 axios.interceptors.request.eject();
axios.interceptors.request.eject(ceptors_req);
// 请求拦截中国要把拦截到的东西return出去 等待响应
return config
});
或者?可以为自定义axios实例添加拦截器
// 可以为自定义axios实例添加拦截器
const ins = axios.create({
// 设置请求基本路径
baseURL:'http://127.0.0.1:4000',
// 请求延时
timeout:5000,
//设置请求头
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
// 创建拦截器
ins.interceptors.request.use((config)=>{
console.log('请求被拦截');
// 清除拦截器
this.interceptors.request.eject();
});
|