express session如何存到cookie里面,session的值也取不到

发布于 2022-09-05 23:48:46 字数 1522 浏览 14 评论 0

在我的控制台可以看见(chrome)

set-cookie:connect.sid=s%3AmmT6Om_AeH_4xyfK1lnN2Slbq8Ue5hI0.okHi82UORbpwOpz8YX2zDtsnR4FKAjcZXTjAQ1b7Cwk; Path=/; Expires=Fri, 29 Sep 2017 09:34:13 GMT; HttpOnly

但是在cookie中找不到,这是为什么啊?

var session = require('express-session');
var cookieParser = require('cookie-parser');

app.use(cookieParser("keyboard cat"))
  app.use(session({
    secret: 'keyboard cat', 
    cookie: ({ maxAge:  60000 }),
    resave: false,
    saveUninitialized: true
  }))

怎么样才能保存到cookie里面去啊,需要从前端获取然后再向cookie保存吗

session的值也取不到呀

app.post('/api/user/login', function (req, res) {
      let name=req.body.name
      let pwd =req.body.pwd
    db.userModel.findOne({name: req.body.name}, function(err, doc){
        if(!err){
          if(!doc){
            res.json({code:100})//账号不存在
            return
          }else{
            if(pwd != doc.pwd){
              res.json({code:200})//密码不正确
              return
            }else{
              res.json({code:300})//登录成功
              req.session.name=name
              console.log(req.session.name)
            }
          }
        }else{
          alert('internet err')
        }
    })
  })
app.post('/api/user/signup', function (req, res) {
    if(req.session.name){
      console.log(req.session.name)
    }else{
      console.log('shibai')
    }
   })

第一个console能正常打印 下面signup里面就是直接打印了失败,取不到req.session.name的值,前端端口在 8080 node 在8889 mongodb在 27017 跨域是前端配置的proxy。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽心 2022-09-12 23:48:46
  • 首先确定你自己的node服务是正常的,直接访问/api/user/login,看看res的header里面的东西,正常来讲应该是有JSESSIONID这个cookie的,如果没有那就是node服务都有问题咯
  • 其次,node服务如果没问题,那你前端的proxy在做转发的时候,是不是把node服务发过来的东西都转发到前端去了?
  • 最后,你的前端代码贴一点,前端用的什么工具发的请求?如果是fetch的话,记得设置credentials
り繁华旳梦境 2022-09-12 23:48:46

你先检测一下那么是否有值,你数据库返回的结果是doc....如果是要存name也应该是doc.name吧,如果想要存入cookie 最好是先生成cookie,再通过cookie生成session,中途记得要加密..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文