我在B.html页面登录后,在浏览器F12拿到cookie,然后复制粘贴在A.html页面执行document.cookie,然后我在A.html页面使用axios请求B.html页面的接口,但是request header里面并没有cookie,我在前端代码中设置了axios.defaults.withCredentials = true;但没有效果,不知道哪里的问题,我知道是跨域问题,但是试了很多方法,cookie还是加不上,求解。
我在B.html页面登录后,在浏览器F12拿到cookie,然后复制粘贴在A.html页面执行document.cookie,然后我在A.html页面使用axios请求B.html页面的接口,但是request header里面并没有cookie,我在前端代码中设置了axios.defaults.withCredentials = true;但没有效果,不知道哪里的问题,我知道是跨域问题,但是试了很多方法,cookie还是加不上,求解。
1、A、B页面的域名是不是不一样,给B设置cookie时,注意domain得设置成B的,不然不会带上
2、检查一下path的值是不是也设置了,默认为/
,如果设置的值跟B的不一样,请求也不会带上
3、检查一下设置的expires值,如果过期了,cookie也不会带上
document.cookie = `${name}=${value};domain=${domain};path=${path};expires=${expires}`
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
Access-Control-Allow-Credentials
,同时Access-Control-Allow-Origin
指定为a.html
的域名。参考:MDN。