我有一些 JSON 正在传递给部分 View 。
{
"0": {
"storename": "Park plaza",
"prediction": "Retail Sites",
"probability": 0.851005
},
"1": {
"storename": "Emory Mills",
"prediction": "Retail Sites",
"probability": 0.851005744010425
},
"2": {
"storename": "Potamac Heights",
"prediction": "Retail Sites",
"probability": 0.851005744010425
}
}
这是循环的代码。
<% for(var i=0; i < tabledata.length; i++) { %>
<tr>
<td><%= tabledata[i].storename %></td>
<td><%= tabledata[i].prediction %></td>
</tr>
<% } %>
我很好奇为什么这不起作用,但如果没有循环,它就可以了。
<tr>
<td><%- tabledata["0"].storename %></td>
<td><%- tabledata["0"].prediction %></td>
</tr>
<tr>
<td><%- tabledata["1"].storename %></td>
<td><%- tabledata["1"].prediction %></td>
</tr>
<tr>
<td><%- tabledata["2"].storename %></td>
<td><%- tabledata["3"].prediction %></td>
</tr>
我意识到即使没有循环,我也需要将数字作为字符串。但是,即使我将 i.toString() 放入循环中,它也会说存在类型错误。我还尝试添加引号“”以及单引号“”,但这也不起作用。
此外,我看到的错误是语法错误,在我的部分 View 中意外标记非法。
有什么想法吗?
最佳答案
在你的循环中i
是一个整数,在另一个循环中它是一个字符串。
修改循环,使其强大并且可以工作(将其用单引号引起来)
关于node.js - 奇怪的 NodeJS 与 Express 和 EJS 循环之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29588013/