我正在本地主机上的小项目上工作,希望它向我的另一台服务器发送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吗?
答案 0 :(得分:0)
如果您要发送此cookie的内容,则cookie保留在前端,您需要通过get调用发送该cookie或将inyo保存在标题中