node.js - 奇怪的 NodeJS 与 Express 和 EJS 循环之谜

标签 node.js express ejs embedded-javascript

我有一些 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/

相关文章:

node.js - Express 中绝对路径和相对路径的困难

javascript - 如何使用 Express 框架发出 AJAX 请求?

javascript - Socket.io 在生产环境中不起作用

express - 如何在EJS模板中使用 block 继承

node.js - 如何读取从Web客户端发送的nodejs服务器中的文件

javascript - { [FacebookTokenError : This authorization code has been used. ]

javascript - Node 缓冲区 : How to read out bit flags?

node.js - Multer 存储在本地 AppData 而不是指定目录中

node.js - Express js 设置 View 模板选项

javascript - 无法连接到 ejs 文件上的套接字、引用和 io 未定义错误