Chrome中跨域POST請求無法攜帶Cookie的解決方案
- 低於91版本的Chrome瀏覽器:
Chrome中訪問地址chrome://flags/#same-site-by-default-cookies
,將SameSite by default cookies
設置為Disabled
后重啟瀏覽器再運行項目即可解決。該設置默認情況下會將未指定SameSite屬性的請求看做SameSite=Lax
來處理。
- 91版本及以上的Chrome瀏覽器:(方案1中的設置在91版本后已被Chorme移除)
Windows:打開Chrome快捷方式的屬性,在目標
后添加--disable-features=SameSiteByDefaultCookies
,點擊確定,關閉所有Chrome窗口包括Chrome瀏覽器后再重啟瀏覽器運行項目即可解決。
Mac:Mac系統下可以通過命令行攜帶參數打開瀏覽器的方式來解決,前提須關閉所有瀏覽器窗口並退出
瀏覽器后再進行操作。
- 開啟Chrome命令:
open -a "Google Chrome" --args --disable-features=SameSiteByDefaultCookies
- 開啟Chromium版Edge瀏覽器命令:
open -a "Microsoft Edge" --args --disable-features=SameSiteByDefaultCookies
PS: Mac系統下通過執行命令運行瀏覽器如果依舊無法解決可嘗試重啟瀏覽器后再執行命令打開瀏覽器,該命令需要保證完全關閉並退出瀏覽器再執行才能生效。