javascript - 无法在 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 中设置。一些帮助将不胜感激
解决方案
推荐阅读
- ruby-on-rails - Vue-meta 标签不更新使用 rails 作为后端的 meta 标签
- r - 无法在 R 中加载 avro 包
- cassandra - Cassandra 4.0 中缺少 CounterMutationStage 和 ViewMutationStage 指标
- flutter - 我正在寻找一个关于Package Compatibility的简单方法:所以,因为flutterapp同时依赖〇〇和〇〇版本解决失败
- java - Java - 等于和哈希码比较
- php - SendGrid API 使用 php ext-curl 发送多封电子邮件
- java - Eclipse UI 使用 Hibernate 配置抛出 NPE
- angular - 由于不允许的 MIME 类型(“application/json”),加载模块被阻止
- python - ValueError:模型的特征数量必须与输入匹配。决策树
- javascript - 对 Selenium 进行拖放。试图将其转换为