我正在尝试将数据呈现到EJS页面,但我无法将数据发送到EJS页面 . 目前,我从MSSQL数据库接收数据作为记录集 . 下面的屏幕截图给出了console.log(行)的结果 .
[https://i.stack.imgur.com/CItXQ.jpg][1]
数据库编码:
app.get('/data', receiveData);
function receiveData(req, res) {
db.executeSql("SELECT * FROM arduino", function (recordsets, err, ) {
var data = JSON.stringify(recordsets);
if (err) {
httpMsgs.show500(request, res, err);
}
else {
var Jdata = JSON.parse(data);
console.log(Jdata);
res.render('arduino',{Jdata:Jdata});
}
});
}
为Ejs编码
<table border="1" cellpadding="7" cellspacing="7">
<tr>
<th> - </th>
<th>ID</th>
<th>Machine</th>
<th>Start Time</th>
<th>End Time</th>
<th>Length Time</th>
<th> Day/Night</th>
<th>Job Number</th>
</tr>
<% if(Jdata.length){
for(var i = 0;i < Jdata.length;i++) { %>
<tr>
<td><%=(i+1)%></td>
<td> </td>
<td><%=Jdata.recordset[0].Id %></td>
<td><%=Jdata.recordset[0].StartTime%></td>
<td><%=Jdata.recordset[0].EndTime%></td>
<td><%=Jdata.recordset[0].LengthTime%></td>
<td><%=Jdata.recordset[0].Day%></td>
<td><%=Jdata.recordset[0].JobNumber%></td>
</tr>
<% }
}else{ %>
<tr>
<td colspan="3">No Data</td>
</tr>
<% } %>
</table>
如果有人能帮助我,那将是很棒的 .
谢谢 .
3 回答
我希望以下答案可以解决您的问题 . 您正在使用Jdata.length而不是Jdata.recordset.length . 根据控制台日志,我理解这一点 .
哦,这很容易,不要使用<%,使用<% - 代替 . 例如:
<%=
将在HTML中呈现<%-
将呈现变量(因为它们是,eval)注入脚本的每一行必须包装在
<% ...your snippet line... %>
中,因此我会将您的代码修改为: