我在服务器上有一个非常重量级的查询,导致新的页面呈现,我想将查询的一些结果传递给客户端(作为javascript对象数组)。这基本上是这样我以后不必再进行单独的JSON查询来获取相同的内容(主要是静态的)。这些数据最终会有用,但最初并没有这样,所以我没有直接将其放入文档中。
app.get('/expensiveCall', function(req, res) {
// do expensive call
var data = veryExpensiveFunction();
res.render('expensiveCall.jade', {
locals: {
data: data,
}
});
});
});
data是一个对象数组,最初只使用了一些对象。我想传递整个数据或一些子集(取决于具体情况)。我的玉看起来像普通的玉,但我想包括像
这样的东西<script type="text/javascript">
var data = #{data};
</script>
但这不起作用(它是一个对象数组)。
答案 0 :(得分:89)
你不能内联这样的JS对象,但你可以JSON.stringify
之前:
<script type="text/javascript">
var data = !{JSON.stringify(data)};
</script>