Fetch API 根本无法与 cookie 配合使用

时间:2021-02-28 00:08:29

标签: javascript reactjs cookies fetch fetch-api

所以我真的不知道这是否是我刚刚遇到的问题,但我在其他一些问题中阅读了很多关于它的内容,但由于这些答案对我没有帮助,我现在必须制作自己的 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 中无效,如果我能解决这个问题,我会在这里写下来。

1 个答案:

答案 0 :(得分:2)

由于浏览器插件,它似乎无法正常工作。在附加组件禁用模式下启动 firefox 为我解决了它(可以在右上角的汉堡菜单下找到 -> 帮助 -> 在禁用附加组件的情况下重新启动 firefox)

相关问题