如何在快递ejs模板中显示数组

时间:2016-07-28 16:52:05

标签: arrays express ejs

我试图显示一个json文件isnide my express ejs模板,因为我的json文件看起来像这样:

Data File

为此,我的ejs文件是这样的:

 <!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
<h1><% var a = title %></h1>
    <%for (var result in a){%>
           <li><%=result%></li>
   <%}%>
  </body>
</html>

当我使用此代码时:<%=result%>

我得到了这个结果: 错误 图书

我正在尝试在我的视图文件中显示所有图书的数据,因为我正在尝试使用此代码<%=result[0]%>,但我得到了这个值

.E    .B

我正在尝试访问图书ID或其他详细信息,如何在此视图文件中显示它。

2 个答案:

答案 0 :(得分:0)

我建议你使用forEach

  <body>
   <ul>
       <% books.forEach(function(book){ %>
         <li><%- book.id %></li>
       <%});%>
   </ul>
  </body>

答案 1 :(得分:0)

我认为你应该去阅读一些文档EJS

在这里你可以看到for循环的例子,对于你的解决方案,答案非常简单,你需要使用这个代码,你就完成了:

    <!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>

<h1><% var a = title %></h1>
<% var z = a["Books"] %>
   <% for(var i=0; i<z.length; i++) { %>
           <li>
          <%= z[i].Tweet %>
           </li>
       <% } %>

  </body>
</html>