请求头中cookie加不上;接口跨域;

请求头中cookie加不上;接口跨域;

我在B.html页面登录后,在浏览器F12拿到cookie,然后复制粘贴在A.html页面执行document.cookie,然后我在A.html页面使用axios请求B.html页面的接口,但是request header里面并没有cookie,我在前端代码中设置了axios.defaults.withCredentials = true;但没有效果,不知道哪里的问题,我知道是跨域问题,但是试了很多方法,cookie还是加不上,求解。


回答:

  1. 首先,确定 a.html 已经有 cookie 了。可以通过 devtools 查看。
  2. 如果跨域,需确保 b.html 响应了 cors 头 Access-Control-Allow-Credentials,同时 Access-Control-Allow-Origin 指定为 a.html 的域名。

参考:MDN。


回答:

浏览器默认会携带cookie的,A和B是同一个项目的吗?


回答:

1、A、B页面的域名是不是不一样,给B设置cookie时,注意domain得设置成B的,不然不会带上
2、检查一下path的值是不是也设置了,默认为/,如果设置的值跟B的不一样,请求也不会带上
3、检查一下设置的expires值,如果过期了,cookie也不会带上

document.cookie = `${name}=${value};domain=${domain};path=${path};expires=${expires}`


回答:

使用nginx吧2个页面代理成同源的就好了,这样就不会跨域了


回答:

https://www.cnblogs.com/zxd66...
是浏览器新版本限制问题。
刚才众申有篇文章看到就说的是这个问题,现在还没出来。

以上是 请求头中cookie加不上;接口跨域; 的全部内容, 来源链接: utcz.com/p/937024.html

回到顶部