我正在制作一个Webform,用户在其中输入序列号,并显示有关具有相应序列号的项目的信息。
数据库查询成功,但是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
遍历了某些内容,并且控制台会打印出查询结果,但该信息未显示在页面上。
答案 0 :(得分:0)
在ibutton.ejs中
<tr><%ibutton.serialNum%></tr>
应该是
<tr><%=ibutton.serialNum%></tr>
我忘记了变量所需的'='。