TypeError: Cannot read property 'username' of undefined in passportjs
TypeError: Cannot read property 'username' of undefined in passportjs
app.get('/getUser', function(req, res) {
console.log(req.user.username);
res.json({'user':req.user.username});
});
当我登录 passportjs 时,这不会 return 任何错误,但是当我未登录时,它显示 TypeError: Cannot read property 'username' of undefined
错误,我需要发送 res.json 仅当它被定义,
app.get('/getUser', function(req, res) {
console.log(req.user.username);
if(typeof req.user.username!="undefined")
res.json({'user':req.user.username});
else
res.json({'user':"Anonymous"});
});
但是它给出了条件语句的错误,我该如何处理错误?
Passport 将用户置于请求对象上。如果没有用Passport进行过认证,那么request对象上就没有user对象。因此,req.user 将是未定义的。正如您可能想象的那样,undefined 没有 属性 命名的用户名,这导致了您的错误。
你可能想要这样的东西:
username = req.user ? req.user.username : "Anonymous"
res.json({'user':username});
app.get('/getUser', function(req, res) {
console.log(req.user.username);
res.json({'user':req.user.username});
});
当我登录 passportjs 时,这不会 return 任何错误,但是当我未登录时,它显示 TypeError: Cannot read property 'username' of undefined
错误,我需要发送 res.json 仅当它被定义,
app.get('/getUser', function(req, res) {
console.log(req.user.username);
if(typeof req.user.username!="undefined")
res.json({'user':req.user.username});
else
res.json({'user':"Anonymous"});
});
但是它给出了条件语句的错误,我该如何处理错误?
Passport 将用户置于请求对象上。如果没有用Passport进行过认证,那么request对象上就没有user对象。因此,req.user 将是未定义的。正如您可能想象的那样,undefined 没有 属性 命名的用户名,这导致了您的错误。
你可能想要这样的东西:
username = req.user ? req.user.username : "Anonymous"
res.json({'user':username});