为啥封装的axios使用js-cookie以后设置了cookie发送请求以后请求头没有携带cookie
时间: 2023-12-28 10:19:48 浏览: 144
有可能是因为在设置cookie的时候,没有设置cookie的domain和path属性。如果没有设置这两个属性,cookie的默认domain和path是当前页面的域名和路径,而axios请求的域名和路径与当前页面可能不一致,导致请求头没有携带cookie。
解决方法是在设置cookie的时候,同时设置domain和path属性,例如:
```javascript
import Cookies from 'js-cookie';
import axios from 'axios';
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.interceptors.request.use(
config => {
const token = Cookies.get('token');
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
error => {
return Promise.reject(error);
}
);
Cookies.set('token', 'your_token', { domain: '.example.com', path: '/' });
```
在设置cookie的时候,设置了domain为.example.com,path为/,这样无论在哪个页面发送axios请求,都会携带该cookie。
阅读全文