代码之家  ›  专栏  ›  技术社区  ›  547n00n

错误:无法读取null的属性“send”

  •  1
  • 547n00n  · 技术社区  · 8 年前

    她的密码是:

    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
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   mscdex    8 年前

    res 在父范围中。当不同作用域中有同名变量时,最近作用域中的变量“获胜”。重命名其中一个,使名称唯一,以便可以访问正确的变量。

    推荐文章