Cookie不在跨域请求中发送

时间:2018-09-05 21:37:40

标签: javascript cookies cors xmlhttprequest

我正在本地主机上的小项目上工作,希望它向我的另一台服务器发送JSON跨域请求,该服务器在PHP中实现了一些REST API。

要正确处理请求,服务器必须接收在用户登录时设置的cookie。

当我登录服务器并在浏览器中手动打开API URL时,可以在F12工具中看到Cookie:标头与请求一起发送。但是,当我从本地主机上的脚本执行跨域请求时:

var xhr = new XMLHttpRequest();
xhr.open('GET', "https://devbox.my.domain/api.php", true);
xhr.setRequestHeader('Accept', 'application/json'); 
xhr.withCredentials = true;
xhr.send();

... Cookie:标头未发送,并且在F12工具中查看OPTION标签时也看不到任何预检Network请求。

我没有显示如何处理带有Access-Control-Allow-Origin: *标头的服务器上的请求的详细信息,因为您可以看到问题之前发生过,即服务器未在其中获取cookie。第一名。

该Cookie具有SameSite=Lax,但这不会改变其行为。

有什么方法可以强制发送Cookie吗?

1 个答案:

答案 0 :(得分:0)

如果您要发送此cookie的内容,则cookie保留在前端,您需要通过get调用发送该cookie或将inyo保存在标题中