Javascript 为什么res.cookie是从邮递员那里工作的,而不是';来自浏览器的t?

Javascript 为什么res.cookie是从邮递员那里工作的,而不是';来自浏览器的t?,javascript,node.js,express,cookies,axios,Javascript,Node.js,Express,Cookies,Axios,我试图在登录后从nodejs服务器设置令牌。 我的客户端是react应用程序,我使用axios发出post请求 当我尝试从邮递员登录时,我在cookie中看到令牌,但在浏览器中没有cookie 这是服务器: res.cookie("token", token, { httpOnly: true }).sendStatus(200); 这是客户: return axios.post(serviceUrl + "auth/login", data).then(response => {

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

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

这是服务器:

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

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

我认为原因可能是当您试图设置cookie时无法传递域选项。请尝试传递
域:“\”
选项

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

我想出来了。Chrome不会在localhost中设置cookie。
我签入了edge,它以expeted方式工作。

默认情况下,不会为本地主机(Chrome)存储cookie。如果您想了解这一点,只需在chrome开发工具中添加密钥即可。转到应用程序>存储>Cookies并将“令牌”粘贴到其中。

您正在尝试使用从服务器生成的令牌在客户端上设置cookie,对吗?是的,没错。您签出过类似于此的站点吗?根据您使用的框架,有很多前端cookie管理工具。您在客户端代码中所做的只是返回数据,而不是将数据(特别是cookie)存储在任何其他地方。