[英]NodeJs and Ejs Pass Arrays to page
我试图将数组传递给.ejs页面,但是当我尝试使用时
var test ="<%= data %>";
console.log(test);
我得到了输出
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object
nodejs文件上的Console.log运行正常,但是当我尝试使用console.log客户端时,它会搞砸。
问题可能在于<%= data %>
,而不是console.log()
。 如果您检查客户端的结果,您可能会看到:
var test ="[object Object],[object Object],[object Object],...";
当你只是打印一个Array
,这只是.join()
元素 ,在每个元素上调用.toString()
。 而且 :
new Object().toString() === "[object Object]"
要输出数据以便可以使用它,可以使用JSON.stringify()
:
var test = <%- JSON.stringify(data) %>;
这利用了JSON的语法基于JavaScript的synax来输出Object
文字的Array
文字 :
var test = [{"prop":"value"},...];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.