axios 设置拦截器 全局设置带默认参数(发送 token 等)
时间: 2023-11-01 10:51:48 浏览: 116
好的,以下是设置 axios 拦截器并设置默认参数的代码示例:
```javascript
import axios from 'axios';
// 创建 axios 实例
const instance = axios.create({
baseURL: 'https://api.example.com',
timeout: 10000,
});
// 设置请求拦截器
instance.interceptors.request.use(config => {
// 在请求发送之前,设置默认参数
config.headers.Authorization = `Bearer ${localStorage.getItem('token')}`;
return config;
}, error => {
return Promise.reject(error);
});
// 设置响应拦截器
instance.interceptors.response.use(response => {
return response.data;
}, error => {
return Promise.reject(error);
});
export default instance;
```
在这个示例中,我们首先创建了一个 axios 实例,并设置了基础 URL 和超时时间。然后,我们使用 `interceptors.request.use` 方法设置了请求拦截器,该拦截器会在每个请求发送前被调用。在这里,我们设置了默认的 Authorization 头部,其值为从 localStorage 中获取的 token。最后,我们返回了 config 对象,以便让请求继续发送。
同样地,我们使用 `interceptors.response.use` 方法设置了响应拦截器,该拦截器会在每个响应到达时被调用。在这里,我们返回了响应数据的 data 字段。
最后,我们导出了这个 axios 实例,以便在应用程序中使用。这样,我们就可以在发送请求时自动带上默认的 token 参数了。
阅读全文