vue 给axios添加请求拦截
时间: 2023-10-27 11:17:52 浏览: 126
在使用axios发送请求时,可以通过添加请求拦截器来对请求进行处理,例如添加请求头、添加token等操作。
下面是一个使用Vue和Axios的示例,其中在请求拦截器中添加了请求头和token:
```javascript
import axios from 'axios';
// 创建axios实例
const service = axios.create({
baseURL: process.env.BASE_API, // api的base_url
timeout: 5000 // 请求超时时间
});
// 请求拦截器
service.interceptors.request.use(
config => {
// 在发送请求之前做些什么
if (localStorage.token) {
// 添加请求头
config.headers.Authorization = localStorage.token;
}
return config;
},
error => {
// 对请求错误做些什么
return Promise.reject(error);
}
);
export default service;
```
在上面的代码中,我们首先创建了一个axios实例,并设置了请求超时时间和请求的baseURL。
接着,我们使用`interceptors`属性添加了请求拦截器。在请求拦截器中,我们可以对请求进行一些处理,例如添加请求头、添加token等。
在这个例子中,我们判断localStorage中是否存在token,如果存在则在请求头中添加Authorization字段,值为localStorage中的token。这样,在发送请求时,就会自动带上Authorization头。
最后,我们将创建的axios实例导出,供其他模块使用。
阅读全文