在EJS模板中检索本地JSON文件数据

时间:2015-11-03 16:31:45

标签: javascript ejs

我的项目如下:

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>
<% } %>

1 个答案:

答案 0 :(得分:4)

您不应该从视图中检索数据。因此,当您在后端检索它时,您将表示数据的JavaScript对象(如您在问题中引用的那样)从业务层传递给EJS。我不知道你使用什么作为后端框架。例如,使用NodeJS时:

response.render("yourEJS", {data: yourObject});

然后,在您的视图中,您通过JavaScript遍历对象:

<% for (aProperty in data) { %>
    <div> <% aProperty %>: <%data[aProperty]%> </div>
<% } %>