设置了cookie,请求时还是无法携带cookie的情况

 今天在html文件中,发送请求需要携带cookie,由于本地直接打开方式,是不能设置cookie的,所以用了http-server,去模拟在服务器打开;

然后可以设置上cookie了,在浏览器控制台也看到了,但请求接口中请求头一直没看到cookie,后来经过一番百度,得知当cookie的域和请求接口地址的域不一致时,浏览器发起请求时,是不会携带上cookie的。

比如cookie的域是:.a.com;而接口地址是http://test.abc.com/api/getInfo;这时2者域不同,一个.a.com,一个.abc.com

cookie的域,默认就是浏览器地址栏中的请求地址;由于我用了http-server,浏览器地址是127.0.0.1,当然和真正接口是不同域。所以在真正项目,应该不存在这种情况吧。

 当知道问题时,就以为设置下cookie时顺便指定一下域就行了。document.cookie = "token=1234;domain='.abc.com';path=/;"; 指定域为.abc.com;

设好后再看,发现根本没设上,浏览器上cookie为空,把域去掉就可以设置上;

 所以cookie是不能指定域的?后来直接在浏览器手动改的域,然后再发请求,就发现请求头携带了cookie;

原文地址:https://www.cnblogs.com/lucas27/p/13058271.html