javascript - req.cookies 无法获取

 mobiledu2502870067 发布于 2022-11-09 00:12

获取不到 req.cookies 很头疼

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

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

发现 没有Cookie 这一项

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

更新一下前端代码

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

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

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

    2022-11-12 01:47 回答
  • 你怎么设置的cookie?cookie是有作用域的,如果你在/a/下设置的,/b/下是取不到的。。。

    2022-11-12 01:47 回答
  • 我在想,你是不是应该先 use(cookieparser()),再 use(session()) 呢?

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

    2022-11-12 01:47 回答
  • 问题已经解决了

    原因是我使用了 global.fetch

    fetch 方法默认不带cookie !!!

    解决方案为

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

    2022-11-12 01:47 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有