我使用Postman发布到我的后端,根据用户名和密码获取用户。
每当用户名不作为表单中的字段存在时,仍然会返回一个用户(我此刻只有一个用户并且他被退回);
但是,如果我添加了用户名字段,它将返回null,除非它是正确的用户名,即使它是空的。
这是代码:
User.findOne({
username: req.body.username
}, function(err, user) {
if(err) throw err;
// prints null if username field is present and incorrect even if its empty
// prints a user as json if the username field is not present
console.log(user);
if(!user) {
res.json({ success: false, message: 'Authentication failed. User not found.' });
}
我仍在检查密码,因此无法在没有用户名字段的情况下发帖,但这很奇怪,并且无法显示正确的错误消息。为什么会这样?