问题描述
我已经用谷歌搜索了一段时间,但仍然没有运气。我正在 localhost:3000 上使用 nodeJS + express 运行 REST api。在同一台计算机上,我在 127.0.0.1:3001 上运行前端。从我的后端 API,我收到了 set-cookie 标头。但它并没有被我的浏览器视为 cookie。因此,应用程序 -> Cookies -> http://127.0.0.1:3001 为空。我尝试过 chrome、safari 和 firefox。在 chrome 中,我尝试关闭这些标志:
我从谷歌尝试过的建议是:
- 使用 127.0.0.1 而不是 localhost
- 禁用 chrome 中的标志
- 改用火狐
- 在 axios 请求中包含凭据:withCredentials: true
- 在 cookie 选项下没有设置域
当我部署到生产环境时,一切都按预期工作。似乎有很多人有这个问题,但我找到的解决方案都没有奏效。
响应头:
解决方法
原来在域下我包含了端口。简单地使用域:“localhost”就可以了。起初我有域:“localhost:3001”