在节点+快递+玉中将对象传递给客户端?

Posted

技术标签:

【中文标题】在节点+快递+玉中将对象传递给客户端?【英文标题】:Passing objects to client in node + express + jade? 【发布时间】:2011-12-02 16:01:35 【问题描述】:

我在服务器上有一个非常重量级的查询,它会导致新的页面呈现,我想将查询的一些结果传递给客户端(作为对象的 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>

但这不起作用(它是一个对象数组)。

【问题讨论】:

【参考方案1】:

你不能像这样内联一个 JS 对象,但你可以在之前 JSON.stringify 它:

<script type="text/javascript">
  var data = !JSON.stringify(data);
</script>

【讨论】:

对不起应该早点说:玉转义所有发射的内容,这意味着我也必须取消转义,目前尚不清楚如何关闭转义。我认为在 express 中有一些方法,但我不确定如何。我可能只是切换到不同的模板引擎,但这意味着分叉代码:-(. 如果你使用!而不是#,应该关闭转义。 确认!没看懂,有道理谢谢! 这是一种好习惯还是我错过了将 json 传递给客户端的另一种方式? 如果重新渲染视图,变量的值是否会更新。

以上是关于在节点+快递+玉中将对象传递给客户端?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pageInfo 中将总数传递给客户端

在 Django 中将参数传递给 websocket

如何在 Angular 2 中将对象传递给 NgStyle 指令?

可以在Python中将参数传递给函数对象吗?

如何在 agora web 中将自定义对象传递给远程流

如何使用 jquery ajax 正确地将 json 对象传递给烧瓶服务器