Node.js 我注册后服务器关闭,但数据存储在数据库中

Node.js 我注册后服务器关闭,但数据存储在数据库中,node.js,express,Node.js,Express,当我尝试注册时,我在终端和服务器关闭时收到以下错误错误:发送头后无法设置头 它只在我注册时出现,但在我登录时从不出现。此外,所有数据都存储在我的MongoDB afterwords中 有谁能解释一下我做错了什么 这是我注册的代码 exports.signup = function (req, res, next) { var email = req.body.email; var password = req.body.password; var role = req.body.ro

当我尝试注册时,我在终端和服务器关闭时收到以下错误
错误:发送头后无法设置头

它只在我注册时出现,但在我登录时从不出现。此外,所有数据都存储在我的MongoDB afterwords中

有谁能解释一下我做错了什么

这是我注册的代码

exports.signup = function (req, res, next) {
  var email = req.body.email;
  var password = req.body.password;
  var role = req.body.role;
  var firstName = req.body.firstName;
  var lastName = req.body.lastName;
  var phone = req.body.phone;
  var number = req.body.number;
  var street = req.body.street;
  var city = req.body.city;
  var postcode = req.body.postcode;
  if (!email || !password) {
    return res.status(422).json({ error: "You must provide an email and password" });
  }

  // Check if user already exists, send error if they do
  User.findOne({ email: email }, function (err, existingUser) {
    if (err) { return next(err) }
    if (existingUser) { return res.status(422).json({ error: "Email taken" }) }
    var user = new User({
      email: email,
      password: password,
      userData: [{
        role: role,
        firstName: firstName,
        lastName: lastName,
        phone: phone,
        address: [{
          number: number,
          street: street,
          city: city,
          postcode: postcode
        }],
      }],
    });
    user.save(function (err) {
      if (err) { return next(err) }
      res.json({ user_id: user._id, token: tokenForUser(user) });
      res.json({
        data: {
          email: email,
          password: password,
          userData: [{
            role: role,
            firstName: firstName,
            lastName: lastName,
            phone: phone,
            address: [{
              number: number,
              street: street,
              city: city,
              postcode: postcode
            }],
          }],
        }
      });
    });
  });
}

这个例子可能会帮助你

user.save(function (err) {
    if (err) { return next(err) }
    //res.json({ user_id: user._id, token: tokenForUser(user) });
    res.json({
      user_id: user._id,
      token: tokenForUser(user),
      data: {
        email: email,
        password: password,
        userData: [{
          role: role,
          firstName: firstName,
          lastName: lastName,
          phone: phone,
          address: [{
            number: number,
            street: street,
            city: city,
            postcode: postcode
          }],
        }],
      }
    });
  });

您不能多次发送响应,您需要将两个响应合并为一个响应