在尝试构建具有 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中文网其他相关文章!