Javascript 如何在ejs模板中显示json数据?
我在一个控制器文件中有一个json数据,我从一个API获得了这个数据,这样我就可以 将从API获取的数据重定向到ejs文件,但是当我在body标记部分编写代码时 这样,它将显示整个JSON,但是 我在脚本标记下使用了这个语句,我没有得到任何东西,但[object]错误消息就是结果 如何在脚本标记中使用这个JSON数据来显示JSON数据中的每个键/值对?你能给我一个答案吗 在控制器中:Javascript 如何在ejs模板中显示json数据?,javascript,node.js,ejs,Javascript,Node.js,Ejs,我在一个控制器文件中有一个json数据,我从一个API获得了这个数据,这样我就可以 将从API获取的数据重定向到ejs文件,但是当我在body标记部分编写代码时 这样,它将显示整个JSON,但是 我在脚本标记下使用了这个语句,我没有得到任何东西,但[object]错误消息就是结果 如何在脚本标记中使用这个JSON数据来显示JSON数据中的每个键/值对?你能给我一个答案吗 在控制器中: res.render('display', { jsonData: storeJSONData });
res.render('display', {
jsonData: storeJSONData
});
我为重定向模板编写了此代码。请在HTML中尝试此代码,它应该可以工作:
<script type="text/javascript">
function codeAddress(){
var data = <%- jsonData %>;
document.write(JSON.stringify(data));
}
</script>
函数codeAddress(){
var数据=;
document.write(JSON.stringify(data));
}
这是因为您不能在EJS标记中使用JS,您需要将其渲染为分配给
var
,然后才能使用它。尝试将渲染()更改为:
res.render('display', {
jsonData: JSON.stringify(storeJSONData)
});
以及您的模板:
函数代码地址(){
var数据=;
文件。写入(数据);
}
不要讲话,只需观看:p
我已经发送了这样的数据
res.render('studentlist',{'studentlist' : result} );
然后我将这些数据显示在一个表格中,比如这个婴儿: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>
名称
电子邮件
用户名
我希望这对你有帮助。我很肯定。:)
非常感谢。以下是我们从控制器传递到视图的“文档”
app.get('/', function(req, res){
User.find((err, docs) =>{
if(!err)
res.render('home', {'docs':docs});
else
console.log(JSON.stringify(err));
});
});
现在我们可以使用变量docs在ejstemplate上显示。范例
<ul class="collection">
<% datas.forEach(function(data) { %>
<li class="collection-item avatar">
<span class="title"><%= data.name %></span>
<p>First Line <br>
<%= data.email %>
</p>
</li>
<% }); %>
</ul>
-
第一行
我希望它能起作用。您可能还应该显示您的显示
模板。您好,先生,这是我在tempate中的脚本代码。函数codemaddress(){var data=document.write(data);}我从body标记调用了这个函数,使用的是我在浏览器[object object]上获得的输出,而不是json数据。为什么会发生这种情况?我知道嗨,先生,我尝试过这个函数,但没有得到json数据。函数codemaddress(){alert(“data”);var data=;document.write(json.stringify(数据));}当我注释最后两行时,“数据”值将显示在弹出窗口中,但当我取消注释最后两行时,甚至不会显示弹出消息,json数据也不会显示。在这两种情况下,无论是注释还是取消注释,json都不会显示。我如何获取此json数据?