用户是明确定义的,但user.user_id
不是。我正在使用express.js和passport.js
router.post('/requestSale', function(req,res){
console.log('session user: ' + req.session.passport.user); //logs
console.log('session user_id: ' + req.session.passport.user.user_id);
api.initiateSale(req.body.brokerId, req.session.passport.user.user_id, (req.body.amount).toFixed(0), function(sale){
res.render('buying', {title: 'Buying', sale:sale});
});
});
console.log('session user: ' + req.session.passport.user);
日志:
{ “USER_ID”:3, “类型”: “正常”, “电子邮件”: “khockenhull@gmail.com”, “姓名”: “金纳德”, “姓”: “Hockenhull”}`
但是
console.log('session user_id: ' + req.session.passport.user.user_id);
日志:
未定义
这怎么可能,我该怎么做才能解决它?
答案 0 :(得分:2)
req.session.passport.user
似乎是一个JSON字符串而不是JavaScript对象。由于字符串对象没有user_id
属性,因此返回undefined
。使用JSON.parse
方法解析JSON,然后读取属性。
JSON.parse(req.session.passport.user).user_id;