![](/img/trans.png)
[英]Cookies not sent in cross-origin jquery ajax request when custom header set
[英]Cookies are not sent in cross-origin request
我正在我的本地主機上做一個小項目,並希望它向我的其他服務器發送一個 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 工具中查看Network
選項卡時,我也沒有看到任何預檢OPTION
請求。
我沒有顯示我如何使用Access-Control-Allow-Origin: *
標頭等處理服務器上的請求的詳細信息,因為正如您所看到的問題之前發生過,即服務器沒有獲取 cookie第一名。
cookie 具有SameSite=Lax
,但這不會改變行為。
有沒有辦法強制發送 Cookie?
如果要發送此 cookie 的內容,cookie 將保留在前端,則需要通過 get 調用或將其保存在標題中發送
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.