簡體   English   中英

Cookie 不在跨域請求中發送

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM