当使用 Axios 发送请求时,可能会遇到一个常见的问题,即无法发送凭证(例如:无法发送包含 Cookie 的请求)。以下是一个解决方法的代码示例:
首先,确保你使用的是 Axios 的最新版本。
import axios from 'axios';
// 创建一个 Axios 实例
const instance = axios.create({
// 配置 baseURL、headers 或其他选项
withCredentials: true, // 启用凭证
});
// 发送请求
instance.get('/api/some-endpoint')
.then(response => {
// 处理响应
console.log(response.data);
})
.catch(error => {
// 处理错误
console.error(error);
});
在上述代码中,我们使用 axios.create()
方法创建了一个 Axios 实例,并设置了 withCredentials
选项为 true
,以启用凭证。然后,我们通过该实例发送请求,以确保请求会携带凭证。
如果你已经在代码中使用了全局配置,你也可以直接在全局配置中设置 withCredentials
选项:
import axios from 'axios';
// 配置全局 axios 实例的选项
axios.defaults.withCredentials = true;
// 发送请求
axios.get('/api/some-endpoint')
.then(response => {
// 处理响应
console.log(response.data);
})
.catch(error => {
// 处理错误
console.error(error);
});
通过以上代码示例,你应该能够解决 Axios 无法发送凭证的问题。