Я создаю веб-форму, где пользователь вводит серийный номер, и отображается информация об элементе с соответствующим серийным номером.
Запрос к базе данных выполнен успешно, но res.render()
не отображает результаты.
app.js
//ibutton page, displayed after clicking link
app.get('/ibuttons', function (req, res){
res.render('ibutton');
});
app.post('/ibuttons/view/', function (req, res){
let query = ('SELECT serialNum, lotNumber, dateCode, model FROM iButton WHERE serialNum = ?');
db.query(query, [req.body.serialNumber], function (err, results, fields) {
console.log(results);
res.render('ibutton', {
ibuttons: results
});
});
});
ibutton.ejs
<% include partials/ibuttonHeader %>
<h1>iButton Information</h1>
<form method = "POST" action="/ibuttons/view">
<label>Enter your iButton's Serial Number</label><br>
<input type ="test" name="serialNumber">
<input type ="submit" value="Submit">
</form>
<div>
<table>
<% ibuttons.forEach(function(ibutton){ %>
<tr><%ibutton.serialNum%></tr>
worked
<% }) %>
</table>
</div>
После ввода серийного номера, который находится в базе, и нажатия кнопки «Отправить», на / ibutton / view отображается «сработало», что означает, что forEach
что-то зациклилось, и консоль распечатывает результаты запроса, ноинформация не отображается на странице.