javascript - 数据未在 Node JS 中呈现到 EJS 页面中
问题描述
我正在尝试将数据呈现到 EJS 页面,但我无法将数据发送到 EJS 页面。目前,我正在从 MSSQL 数据库接收数据作为记录集。下面的屏幕截图给出了 console.log(rows) 的结果。
[ 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>
如果有人可以帮助我,那就太好了。
谢谢。
解决方案
我希望下面的答案能解决您的问题。您正在使用 Jdata.length 而不是 Jdata.recordset.length。根据控制台日志,我理解这一点。
<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.recordset.length){
for(var i = 0;i < Jdata.recordset.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>
推荐阅读
- javascript - Discord bot网站,如何获得公会计数
- javascript - 快速设置标头内容响应类型
- gitlab - 按顺序运行 gitlab 作业
- plot - 在(最好)谷歌地图中绘制随时间的运动
- flutter - 当我获得更多时,StreamBuilder 不会更新项目
- kubectl - kubernetes pod 与 localhost 端口通信
- spring - 在用户使用它之前,是否可以在新的 Spring trascation 中执行一些操作?
- node.js - lodash 在嵌套 groupBy 上失败
- binary - 当它们的表示相同时,如何在二进制表示的 8 位内存位置中区分 +128 和 -128?
- android - “react-native run-android”命令不起作用