express存储session时打印出undefined

在项目中使用node写接口,在写登录功能的时候,有一个验证码登录,写了一个生成验证码的接口,登录思路是:前端这边将用户名,密码和验证码传过来,后端生成的验证码存在session里面,请求过来就去session里面查验证码是否正确

因为登录功能还没有写好,所以现在postman里面测接口,但是出现了问题:

express存储session时打印出undefined

验证码正确的情况下也是一直显示验证码不正确,把session打印出来发现并没有存入的验证码,在网上搜索后,有人说是express跨域导致session丢失的问题,但是修改跨域后仍然无法解决问题,在和公司的后端讨论一番后发现了问题所在:

前端在每次请求是会把cookie带上,因为http是无状态的,不同用户登录所携带的cookie也是不一样的,而在postman测的时候所携带的cookie无法和后端的session对应上,必须要在浏览器端进行测试。

router.post('/login',(req,res)=> {
    let { username, password,captcha } = req.body
    const result = userLogin(username,password)
    // console.log(captcha)
    // console.log(req.session)
    if(captcha === req.session.captcha){
        result.then(data=> {
            if(data.username){
                res.send({code:200,msg:'登录成功'})
            }else{
                res.send({code:-1,msg:'登录失败'})
            }
        })
    }else{
        res.send({code:-2,msg:'验证码不正确'})
    }
})

 

 

上一篇:python 多进程与进程池


下一篇:当下流行的分布式文件系统大阅兵