Axios 和 Fetch 在默认情况下不会自动携带浏览器中的 cookies。这是因为它们遵循了同源策略,即只有在请求的源(协议、域名和端口)与当前页面的源相同时,才会自动携带 cookies。
如果你需要在 Axios 或 Fetch 请求中携带 cookies,可以通过设置 withCredentials
属性为 true
来实现。以下是在 Axios 和 Fetch 中设置 withCredentials
属性的示例:
Axios:
axios({
method: 'GET',
url: 'https://example.com/api',
withCredentials: true
})
.then(response => {
console.log(response);
})
.catch(error => {
console.error(error);
});
Fetch:
fetch('https://example.com/api', {
method: 'GET',
credentials: 'include'
})
.then(response => {
console.log(response);
})
.catch(error => {
console.error(error);
});
需要注意的是,设置 withCredentials
属性为 true
可能会导致跨域请求的问题。如果你的请求跨越了不同的源,服务器可能会拒绝携带 cookies 的请求。在这种情况下,你需要在服务器端进行相应的配置,以允许跨域请求携带 cookies。