Я пытаюсь распечатать содержимое формы, сохраненной в массиве с именем 'userInfo', в файл ejs, но я сохраняю сообщение об ошибке «userInfo не определен», что я делать не так?Передача массива в выражении в файл ejs
Вот код JS:
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)
});
Вот что на EJS файл
Форма Результаты<ul>
<% for(var i=0; i<userInfo.length; i++) {%>
<li><%= userInfo[i] %></li>
<% } %>
</ul>
Спасибо за любую помощь или совет предложил.
Большое спасибо за помощь robertklep. Не могли бы вы просто объяснить этот бит еще раз? app.post ('/ formResults', функция (REQ, разреш) { userInfo.push ({ имя: req.body.name, местные: req.body.dojoLocation, языки: req.body.language, комментарий: req.body.comment }); console.log (USERINFO); res.redirect ('/') результаты }); –
@BenJohnson Я добавил немного больше разъяснений, надеюсь, этого достаточно. Если нет, можете ли вы уточнить, что вы хотите объяснить? – robertklep
Я просто перечитал его несколько раз и получил его! Спасибо! –