express的session无法存入cookie,但是在控制台中又显示设置了cookie

发布于 2022-09-06 00:16:00 字数 1901 浏览 18 评论 0

图片描述

控制台中看的到有cookie呀,但是cookie没有存进去,

node部分

app.use(cookieParser("keyboard cat"))
  app.use(session({
    name:'snat',
    secret: 'keyboard cat', 
    cookie: ({ maxAge:  60000 }),
    resave: false,
    saveUninitialized: true
  }))
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{
          console.log('连接超时')
        }
    })
  })
app.post('/api/user/signup', function (req, res) {
    if(req.session.name){
      console.log(req.session.name)
    }else{
      console.log('shibai')
    }
})

服务端没有问题,登录验证都能进行,第一个req.session.name能正常打印,第二个post就获取不到值了

前台是用的proxy做的跨域,用的fetch发送

    onhandleConfirm=()=>{
        const form =this.props.form;
        const name = form.getFieldValue('user')
        const password = form.getFieldValue('password')
        fetch('/api/user/login',{
            method:"POST",
            body: JSON.stringify({
                name: name,
                pwd: password,
              }),
              headers: {
                'Content-Type': 'application/json'
              }
        })
        .then(function(res){
            return res.json()
    
          }).then(function(res){
              console.log(res.code)
          })

求大神给个思路呀

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

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

发布评论

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

评论(2

送君千里 2022-09-13 00:16:00

我这里的原因找到了,需要设置fetch里的credentials

随风而去 2022-09-13 00:16:00

数据返回过去了才设置session
这样写

req.session.name=name
console.log(req.session.name)
res.json({code:300})//登录成功
              
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文