我有一些JSON我正在传递给局部视图。
{
"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()放入循环中,它也表示存在类型错误。我也试过引用引号“”以及单引号'',但这也没有用。
另外,我看到的错误是语法错误,部分视图中的意外标记ILLEGAL。
有什么想法吗?
答案 0 :(得分:0)
在你的循环中i
是一个整数,在另一个循环中它是一个字符串。
修改循环以使其强大并且它可以工作(用单引号括起来)