Ich bin neu bei node.js und möchte die eingegebenen Formulardaten nach der Formularverarbeitung an die Eingabefelder zurückgeben, wenn die Daten im Formular fehlerhaft sind (Beispiel: Benutzername wird bereits verwendet) . Ich versuche es mit Hilfe von EJS zu tun, aber die Form scheint den Wert nicht zu finden.Wie Formulareingaben richtig in node.js zwischenspeichern?
Unten ist mein app.js Code-Schnipsel:
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json());
app.post('/',function(req,res){
var username = req.body.username;
res.render('registration', {title: 'Registration',
username: username});
});
unter meinem registration.ejs Codeausschnitt ist:
<form class="form" action="/" method="post" name="regForm">
<div class="form-group">
<input type="text" value="<% username %>" name="username" class="form-control" id="username" placeholder="Username" onblur="validateUsername(this.value)" required>
</div>
</form>
Nach Entsendung ich das Feld von Benutzername mit der zu füllenden erwarten Wert ich eingegeben, aber es scheint nicht zu passieren. Was könnte das verursachen?
Mache ich dieses Cache-Ding richtig oder gibt es eine Möglichkeit, Formulareingaben besser zwischenzuspeichern?
Sind Sie sicher, dass 'req.body.username' eine Zeichenfolge ist? Verwenden Sie die entsprechende Body-Parsing-Middleware (z. B. die Middleware 'urlencoded()' body-parser')? – mscdex
Ich habe dies in meinem Code: app.use (bodyParser.json()); Darauf beziehen Sie sich richtig? – dtem052996