gpt4 book ai didi

node.js - 错误: Cannot read property 'send' of null

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:01 25 4
gpt4 key购买 nike

我正在尝试构建一个注册API服务,第一步是检查用户电子邮件是否存在,如果存在服务器将发送“电子邮件存在”响应,否则用户将成功保存在数据库(mongoDB)中。

她是代码:

userRoutes.post('/signup', function(req, res) {
if (!req.body.email || !req.body.password || !req.body.firstname || !req.body.lastname || !req.body.gender || !req.body.country || !req.body.town || !req.body.isTrainer) {
res.json({ success: false, msg: 'set up required fields' });
} else {
var newUser = new User({
email: req.body.email,
password: req.body.password,
firstname: req.body.firstname,
lastname: req.body.lastname,
gender: req.body.gender,
country: req.body.country,
town: req.body.town,
isTrainer: req.body.isTraine
});

User.find({ email: req.body.email}, function(res,err, user){
if (err) {
res.send({success: false, msg:'authentication error'})
console.log(err);
}
else if (user.length != 0) {
res.send({success: false, msg:'Email already exists'})
console.log(err, 'email already exists'+email);
}else {
// save the user
newUser.save(function(err) {
if (err) {
console.log(err);
}
res.send({ success: true, msg: 'Your account created successfully! ' });
});
}
})

}
});

我收到此错误:

events.js:160
throw er; // Unhandled 'error' event
^

TypeError: Cannot read property 'send' of null

最佳答案

原因是您有一个函数参数,其名称遮盖了父作用域中 res 的名称。当不同作用域中具有相同名称的变量时,最接近作用域中的变量“获胜”。重命名其中之一,使名称唯一,以便您可以访问正确的变量。

关于node.js - 错误: Cannot read property 'send' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45249686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com