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