所以我真的不知道这是否是我刚刚遇到的问题,但我在其他一些问题中阅读了很多关于它的内容,但由于这些答案对我没有帮助,我现在必须制作自己的 StackOverflow发布._.
我会尽量保持简短。
所以我试图向我的后端发出一个简单的获取请求,但包括来自浏览器的当前 cookie。它看起来像这样:
var rsp = await fetch("/api/basicRegistrationInfos", {
method: "POST",
credentials: "same-origin",
headers: new Headers({ Cookie: document.cookie }),
});
这不是我的原始代码。
原始代码只包含 var rsp = await fetch("/api/basicRegistrationInfos");
。
我修改了它,因为 cookie 标头根本不起作用。
我尝试设置 credentials
选项的每个值,但这没有发送任何 cookie。
然后我尝试将 GET
更改为 POST
请求。两者都没有。
我尝试的最后一件事是自己设置 cookie 标头。这让我最惊讶:它只是在发送请求之前删除了我的 cookie 标头。它实际上只发生在 cookie 标头上。我用'cookies'(cookie
和一个额外的s
)尝试了它,它只是设置了标题。
还有几件事:
我可以执行,可能是我无法访问 cookie,因为我尝试使用 document.cookie
并获得了正确的 cookie。
另外,我的设置(前端-后端)如下所示:
浏览器向 /home
发出 GET 请求 --> /home
通过快速后端,因为它不包含 /api/*
它请求一个站点,我可以加载我的产品我的 React 应用版本通过 express.sendFile()
我真的不认为我的后端与它有什么关系,但我认为最好也发布这个。
希望有人能帮我解决这个问题。我在这个 cookie 问题上挣扎了 3 天,这让我发疯了。我似乎也没有找到有同样问题的人,所以我想我是第一个遇到它的人。
无论如何...
在此先感谢任何人可以给我的任何帮助或建议,祝您有美好的一天^-^
1.编辑:
还用 node-fetch package 尝试过,它似乎也删除了 cookie 标头
2。编辑:
我现在用 chrome 尝试了它,因为我正在用 Firefox 测试这个东西,看看这个:它有效。我会尝试找出为什么它在 chrome 中有效,但在 Firefox 中无效,如果我能解决这个问题,我会在这里写下来。
答案 0 :(得分:2)
由于浏览器插件,它似乎无法正常工作。在附加组件禁用模式下启动 firefox 为我解决了它(可以在右上角的汉堡菜单下找到 -> 帮助 -> 在禁用附加组件的情况下重新启动 firefox)