reactjs - React App,Express Server - 设置cookie不存储在浏览器中
问题描述
长短是...
我的 express 后端设置了一个 cookie 并将其发送回客户端,当我使用 Postman 和我的 React Native 应用程序时,一切都很好。问题是通过 ReactJs 完成的网络版本发出相同的请求,但 cookie 存储在浏览器中。
所以我知道 cookie 正在工作,但不适用于 web 版本,当我创建一个测试端点http://localhost:3000/server
并直接从存储 cookie 的浏览器调用它时,这很奇怪。
所以这是我的代码对服务器进行简单的提取,然后发送回一个 cookie:
const fetchData = async () => {
try {
const res = await fetch(`http://192.168.0.11:3000/server/`, {
credentials: "include",
});
if (res.ok) {
const resData = await res.json();
console.log({ resData });
}
} catch (err) {
console.log({ err });
}
};
请求成功返回,但未存储 cookie
从浏览器直接访问相同的端点会导致:
发送时从响应标头中提取的内容表明 cookie 是在响应中发送的,只是没有存储在前端
解决方案
是一个非常简单的修复
我http://localhost:3001
用于反应应用程序,我只是简单地使用了 IP 地址http://192.168.0.11:3001
推荐阅读
- php - 批量更新不向数据库发送任何数组数据
- jquery - 在轮播 jQuery 中跟随按钮添加、删除类
- android - 错误:无法从“12”确定 java 版本
- excel - 如何在 SAP 中使用和循环 Excel 变量
- c++ - 想简化我的 std::vector push_back 使用
- angular - Angular8 http客户端表单数据上传
- python - 如何使用 Tkinter 创建选中的复选框列表项
- node.js - 提交事务后如何返回查询数据(使用 knex.js)?
- javascript - 使用 socket.io 连接 Yii2
- css - 为什么我们在 sass 中编写这样的媒体查询?