首页 > 解决方案 > 无法在 Node JS 中设置 Cookie - React

问题描述

我在服务器端使用 Node JS,在客户端使用 React。当我尝试使用 res.cookie 并设置 cookie 时成功验证。但是在客户端,Cookie 仅显示在网络选项卡中,而不会在应用程序选项卡中设置。我正在使用 axios 发出请求,甚至设置了凭据标头,因为我使用的是 cors。这是我下面的代码

router.post("/", (req, res) => {
  console.log(req);
  const email = req.body.email;
  const password = req.body.password;

  loginService.login(email, password, (userPublicData, token, err) => {
    if (err) {
      res.status(401);
      res.send({ user: null, error: err });
    } else {
      res.status(200);
      res.cookie("jwt", token);
      res.send({ user: userPublicData, error: err });
    }
  });
});

这是我的客户端功能

async function authenticateUser() {
    console.log(values);
    axios.defaults.headers.common["credentials"] = "include";
    axios
      .post("http://localhost:8080/api/login", values)
      .then(response => response.data)
      .then(dataJson => {
        sessionStorage.setItem("userData", dataJson);
        props.history.push("/admin");
      })
      .catch(err => {
        console.error("Auth error", err);
      });
  }

cookie 出现在网络选项卡中,但未在应用程序 cookie 中设置。一些帮助将不胜感激

标签: javascriptnode.jsreactjscookies

解决方案


推荐阅读