我这样渲染我的页面:
response.render('index', {
data: list // the `list` is an array variable
});
在首页,我想将数据
存储为globe变量,所以我尝试了:
<script>
window.app = <%= data %>
</script>
但结果是:
window.app = [object Object],[object Object],[object Object]
那么我怎样才能以正确的方式做到这一点呢?
最佳答案
您可以将数据字符串化为 JSON,它是 javascript 的子集,并将被解析为准确的数据结构。也可以使用 <%- expression %>
以确保您的 javascript 不会被转义。
<script>
window.app = <%- JSON.stringify(data) %>
</script>
请注意,这不包括函数,它会抛出循环数据结构。但是像 [{ a : { b : 3 }}]
这样的东西应该工作正常。日期也被转换为字符串。
关于javascript - 如何在node.js ejs模板中将变量从后端传递到前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23733748/