为什么res.cookie可以通过邮递员工作,而不能通过浏览器工作?

时间:2019-05-23 19:35:29

标签: javascript node.js express cookies axios

我尝试在登录后从我的nodejs服务器设置令牌。 我的客户端是react应用,我用axios发出发布请求。

当我尝试从邮递员登录时,我在cookie中看到该令牌,但在浏览器中没有cookie。

这是服务器:

res.cookie("token", token, { httpOnly: true }).sendStatus(200);

这是客户:

  return axios.post(serviceUrl + "auth/login", data).then(response => {
    return response.data;
  });

3 个答案:

答案 0 :(得分:0)

我知道了。 Chrome不会在localhost中设置cookie。 我检查了edge并按照经验操作。

答案 1 :(得分:0)

默认情况下,不为本地主机(Chrome)存储cookie。如果要解决此问题,只需在chrome开发工具中添加密钥即可。转到“应用程序”>“存储”>“ Cookie”,然后在其中粘贴“令牌”。

答案 2 :(得分:-1)

我认为您尝试设置Cookie时,原因可能未通过域选项。请尝试传递

之类的domain : "\"选项
res.cookie("token", token, { httpOnly: true, domain : '\' }).sendStatus(200);