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
}],
}],
}
});
});
您不能多次发送响应,您需要将两个响应合并为一个响应