在與 Go 伺服器整合的 React 應用程式中,伺服器嘗試在登入中回應。然而,儘管 cookie 在網路標籤的回應中返回,但瀏覽器並未保存 cookie。
提供的程式碼片段顯示:
http.SetCookie() 函式用於將 cookie加入回應中,設定如下:
網路標籤的螢幕截圖顯示 cookie 確實在回應標頭中發回。
解決這個問題的關鍵在於Fetch API的憑證標誌。當發出預計回應中包含 cookie 的取得請求時,必須設定憑證:「include」。
fetch(`${url}/login`, { method: "POST", headers: { "Content-Type": "application/json", }, credentials: "include", // This line has been added body: JSON.stringify({ email: userDetails.email, password: userDetails.password, }), }).then((response) => { ...
透過將憑證設定為“include”,瀏覽器知道它應該接受並儲存回應中包含的 cookie。此配置可確保瀏覽器正確保存 cookie 並使其可供後續請求使用。
以上是為什麼我的瀏覽器不將我的 Go 伺服器設定的 Cookie 儲存在 React 應用程式中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!