Ziemlich neu zu Node/Express. Ich überprüfe, ob der Benutzer (über den Benutzernamen) bereits in der Datenbank existiert, für die man sich registrieren möchte, und gib einen Fehler, wenn er bereits existiert.Nodejs/Express - Fehler: Header können nach dem Senden nicht festgelegt werden
Wenn ich curl zu versuchen, es absichtlich, erhalte ich die folgende Fehlermeldung auf den Weg: richtig in Werken
Error: Can't set headers after they are sent.
Ich weiß schon, dass die erste Überprüfung ich tun, um sicherzustellen, dass alle Felder ausgefüllt sind, und bietet keine Probleme mit Headern, die mehrmals festgelegt werden.
Jede Hilfe würde sehr geschätzt werden.
(My entsprechender Code ist unten. Wenn Sie etwas anderes brauchen, so zu sagen, fühlen Sie sich frei!)
router.post('/register', function(req, res, next) {
if(!req.body.username || !req.body.password){
return res.status(400).json({ message: 'Please fill out all fields.' });
}
User.count({ username: req.body.username}, function(err, count){
console.log(count);
if(count > 0) {
return res.status(400).json({message: 'This user already exists!' });
}
});
var user = new User();
user.username = req.body.username;
user.setPassword(req.body.password);
user.save(function(err) {
if(err) { return next(err); }
return res.json({ token: user.generateJWT()});
});
});