如何在ejs模板中显示json数据?

Nag*_*Nag 5 javascript ejs node.js

我在控制器文件中有一个 json 数据,我从 API 中获取了这些数据,以便我能够将从 API 获取的这些数据重定向到 ejs 文件,但是当我在 body 标记部分中编写代码时,像这样 <% -JSON.stringify(jsonData)%>,它将显示整个 JSON,但是当我在脚本标签下使用此语句时,我什么也没有得到,但出现了 [object object] 错误消息。

如何在脚本标签中使用此 JSON 数据来显示 JSON 数据中的每个键/值对?你能建议一个答案吗?

在控制器中:

res.render('display', {
  jsonData: storeJSONData
}); 
Run Code Online (Sandbox Code Playgroud)

我为重定向模板编写了此代码。

小智 6

不说话只看:P

我已经发送了这样的数据。

res.render('studentlist',{'studentlist' : result} );
Run Code Online (Sandbox Code Playgroud)

然后我在像这个宝贝一样的​​表格中显示这些数据:D

<table class="table table-inverse">
  <thead>
    <tr>
      <th>Name</th>
      <th>Email</th>
      <th>Username</th>
    </tr>
  </thead>

  <tbody>
    <% for(var i=0; i < studentlist.length; i++) { %>
    <tr>
      <td><%= studentlist[i].name %></td>
      <td><%= studentlist[i].email %></td>
      <td><%= studentlist[i].username %></td>
    </tr>
    <% } %>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我希望它能帮助你。我很确定 。:) 非常感谢。


mic*_*lem 2

请在您的 HTML 中尝试一下,它应该可以工作:

<script type="text/javascript">
    function codeAddress(){ 
         var data = <%- jsonData %>;
         document.write(JSON.stringify(data)); 
    }
</script>
Run Code Online (Sandbox Code Playgroud)

这是因为你不能在EJS标签内使用JS,你需要渲染它并分配给avar然后你可以使用它。