Ich arbeite an einer REST-API-Node/Express-App. Für meine 'Anmeldungsroute', bei der ein Benutzer die API verwendet, um sich für den Dienst anzumelden, wird ein POST-JSON-Objekt benötigt. Innerhalb dieser Funktion möchte ich gegen die Mongo-Datenbank überprüfen, um sicherzustellen, dass dieser Benutzer nicht bereits existiert.Zugriff auf req.body-Werte in Express
Das Problem ist, dass ich den Benutzernamen von den geposteten Json Informationen erhalten muss, aber jeder Versuch, den ich gemacht habe, ist gescheitert. Die Zeilen, die versuchen, req.body.username und req.body.password zu protokollieren, geben immer 'undefined' zurück. Was mache ich falsch?
Hier ist der Code, den ich bisher habe unten ist:
exports.signup = function(req, res) {
// todo: somehow verify that username, password, email and phone number are all provided.
// do not write into the collection unless we know all the information has been provided.
// maybe access the JSON elements to make sure they are not null
// todo: also make sure a record doesn't already exist for this uer
var user = req.body;
// need to get the username here somehow
var JSONuser = JSON.stringify(user);
// console.log('user: ' + user);
console.log('userJSON: ' + JSON.stringify(user));
console.log('username: ' + req.body.username);
console.log('password: ' + req.body.password);
db.collection('users', function(err, collection){
//if (collection.findOne({})) { // make sure the user doesn't already exist here
collection.insert(user, {safe:true}, function(err, result){
if(err){
res.send({'error':'An error has occured'});
} else {
console.log('Success: ' + JSON.stringify(result[0]));
res.send(result[0]);
}
})
//}
});
}
Also habe ich das online gelesen, und meine app.js-Datei dafür eingerichtet, aber es wird immer noch als 'undefined' in der Konsolenausgabe angezeigt. Hier ist der Pastebin meiner Hauptdatei app.js: http://pastebin.com/raw/5kSn8eLE Jeder Einblick in, warum ich noch in ein Problem laufe? – user1250991
Haben Sie Ihr Repo auf GitHub, ich sehe kein Problem mit dem Code, den Sie haben, müsste ich mehr sehen. – magreenberg
Sicher, danke für das Betrachten, das GitHub ist verfügbar unter: https://github.com/aaronhesse/restapitest – user1250991