私はnode.jsを使い慣れていません。フォームに渡されたデータに誤りがある場合は、フォーム処理後に入力されたフォームデータを入力フィールドに戻します(例:ユーザー名はすでに使用されています) 。私はEJSの助けを借りてそれをしようとしていますが、フォームは価値を取り戻すことはできません。node.jsにフォーム入力を適切にキャッシュする方法は?
以下私app.jsコードスニペットです:
以下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});
});
は私のregistration.ejsコードスニペットです:
<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>
私が充填されるユーザ名のフィールドを期待しています投稿されると値が入力されましたが、それは起こらないようです。それを引き起こす原因は何ですか?
私はこのキャッシュのことを正しく行っていますか、フォーム入力をより良くキャッシュする方法はありますか?
本当に 'req.body.username'は文字列ですか?適切なボディ解析ミドルウェア(例: 'body-parser'の' urlencoded() 'ミドルウェア)を使用していますか? – mscdex
私はこれを私のコードに持っています:app.use(bodyParser.json());これはあなたが右に言及しているものですか? – dtem052996