我的项目如下:
views/
layout.ejs
data/
US-states.json
public/
index.html
US-states.json看起来像这样
{
"DC": "District of Colombia",
"NY": "New York",
etc...
}
如何将这个json数据拉入layout.ejs
以在这样的循环中呈现一些div?
<div>DC: District of Colombia</div>
<div>NY: New York</div>
我试过这样的事情,但我在搜索解决方案时遇到了麻烦:
var data = JSON.parse('./../data/US-states.json')
<% for(var p in data) {%>
<div>p: data[p]</div>
<% } %>
答案 0 :(得分:4)
您不应该从视图中检索数据。因此,当您在后端检索它时,您将表示数据的JavaScript对象(如您在问题中引用的那样)从业务层传递给EJS。我不知道你使用什么作为后端框架。例如,使用NodeJS时:
response.render("yourEJS", {data: yourObject});
然后,在您的视图中,您通过JavaScript遍历对象:
<% for (aProperty in data) { %>
<div> <% aProperty %>: <%data[aProperty]%> </div>
<% } %>