在与 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中文网其他相关文章!