axios动态追加请求头
时间: 2024-09-13 19:12:53 浏览: 43
Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 node.js 环境,它提供了多种方式来动态追加请求头。你可以通过配置 `axios` 请求的 `headers` 对象来动态添加或修改请求头信息。下面是一个如何使用 `axios` 动态追加请求头的例子:
```javascript
// 引入axios
import axios from 'axios';
// 设置基础配置
const instance = axios.create({
baseURL: '你的API基础URL',
});
// 动态添加请求头的函数
function addRequestHeaders(headers) {
// 保存旧的请求拦截器
const requestInterceptor = instance.interceptors.request.eject;
// 清除现有的请求拦截器
instance.interceptors.request.use(request => {
// 动态追加请求头
request.headers = { ...request.headers, ...headers };
return request;
}, requestInterceptor);
}
// 使用函数添加请求头
addRequestHeaders({
'Authorization': 'Bearer 你的token',
'Custom-Header': '自定义值'
});
// 发送请求
instance.get('你的API路径')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
```
在上面的代码中,我们首先创建了一个 `axios` 实例。然后定义了一个 `addRequestHeaders` 函数,它接受一个包含额外请求头的 `headers` 对象作为参数。在这个函数内部,我们首先保存了旧的请求拦截器,然后清除现有的请求拦截器并重新添加一个,用于修改请求的 `headers` 对象。最后,我们通过调用这个函数并传入要添加的请求头对象来使用它。
阅读全文