在嘗試建立具有 Go 後端的 React 應用程式時,使用 http.cookie 根據請求的回應設定 cookie 。儘管如此,瀏覽器仍然無法儲存 cookie。 Chrome 和 Firefox 中都曾經遇到過此問題。
經過仔細檢查,我們發現 Fetch API 請求中缺少「credentials」屬性,需要包含 cookie 的回應。透過將 'credentials: "include"' 合併到請求中,瀏覽器能夠保存從回應中取得的 cookie。
fetch(`${url}/login`, { method: "POST", headers: { "Content-Type": "application/json", }, credentials: "include", // Added parameter body: JSON.stringify({ email: userDetails.email, password: userDetails.password, }), }).then((response) => { ...
這一發現凸顯了將 'credentials' 設定為「include」的重要性請求在回應中期待 cookie。缺少此屬性會導致瀏覽器無法儲存 cookie,從而導致上述問題。
以上是為什麼我的瀏覽器不保存來自 Go 後端的 Cookie,除非我指定 `credentials: \'include\'`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!