1
'userInfo'という配列に保存されたフォームの内容をejsファイルに出力しようとしていますが、「userInfoが定義されていません」というエラーが表示されます間違っている?ejsファイルにエクスプレスで配列を渡す
フォームが提供する任意のヘルプやアドバイスを<ul>
<% for(var i=0; i<userInfo.length; i++) {%>
<li><%= userInfo[i] %></li>
<% } %>
</ul>
おかげで結果ファイルEJSに何をここで
var express = require('express'),
bodyParser = require('body-parser'),
app = express(),
port = 3000,
userInfo = [];
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
app.use(bodyParser.urlencoded({extended: true}));
app.get('/', function(req, res) {
res.render('index');
});
app.post('/formResults', function(req, res) {
userInfo.name = req.body.name;
userInfo.local = req.body.dojoLocation;
userInfo.lang = req.body.language;
userInfo.comment = req.body.comment;
console.log(userInfo);
res.redirect('/results')
});
app.get('/results', function(req, res) {
res.render('results', {users: userInfo});
})
app.listen(port, function(req, res) {
console.log('server running on port: ' + port)
});
です:
はここでJSコードです。あなたはEJSに渡している変数がusers
と呼ばれる
ヘルプrobertklepに感謝します。 このビットをもう一度説明できますか? app.post( '/ formResults'、関数(REQ、RES){ userInfo.push({ 名:req.body.name、 ローカル:req.body.dojoLocation、 ラング:req.body.language、 コメント:req.body.comment }); にconsole.log(ユーザー情報); res.redirect( '/結果') })。 –
@BenJohnson私はもう少し明確化を加えました、私はそれが十分であることを願っています。そうでない場合は、あなたが説明したいことについてより具体的になりますか? – robertklep
私はちょうどそれを数回読んでそれを手に入れました!本当にありがとう! –