req.cookies 无法获取

获取不到 req.cookies 很头疼

clipboard.png

奇怪的是 app.get("/", (req, res)) 却可以获取到req.cookies

clipboard.png

app.use 部分检查了很多遍也没有看出什么问题

clipboard.png

发现 没有Cookie 这一项

只有 初始 localhost 的 request headers 才有!...
很奇怪,cookie 不应该是每一次http 请求都会发送给后端吗
如果不是,如何前端应该如何设置 ?

更新一下前端代码

clipboard.png

这是一个SPA应用,不存在页面跳转

阅读 6.9k
4 个回答

问题已经解决了

原因是我使用了 global.fetch

fetch 方法默认不带cookie !!!

解决方案为

fetch("/abc", {credentials: 'include'}) !!!

我在想,你是不是应该先 use(cookieparser()),再 use(session()) 呢?

我确实没写过 node 后端程序,所以仅供参考

你怎么设置的cookie?cookie是有作用域的,如果你在/a/下设置的,/b/下是取不到的。。。

可能出现问题的原因:
1.前台请求是post请求吗?前后台的method必须一致,如果不能确定method类型就使用 app.all;
2.路由必须写在app.use(cookieparser());之后才能通过cookie-parser中间件拿到cookie;不然只能通过req.headers.cookie来取;

另:每次请求都会发送cookie,你上传的截图中看不到cookie是正常的;查看cookie可在 开发者工具-Application-Storage-Cookies看到

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题