Node.js 在nodej和jade之间传递对象

Node.js 在nodej和jade之间传递对象,node.js,express,pug,jade4j,Node.js,Express,Pug,Jade4j,我的server.js中有以下代码 var cddata = []; body.rows.forEach(function(doc) { cddata.push([{id: doc.id, name: doc.key, text:doc.value.Time, group: 1}]); }); response.render('timeline', {cddata: JSON.stringify(cddata)}); 我的Jade视图文件中有以下

我的server.js中有以下代码

  var cddata = [];
  body.rows.forEach(function(doc) {
  cddata.push([{id: doc.id, name: doc.key, text:doc.value.Time, group: 1}]);              
  });
  response.render('timeline', {cddata: JSON.stringify(cddata)});
我的Jade视图文件中有以下内容

script(src='vis/dist/vis.js')        
link(rel="stylesheet", href="vis/dist/vis.css", type="text/css")

script.
    //alert(cddata);    
    var options = {};
    var data = new vis.DataSet(cddata);
    var container = document.getElementById('visualization');
    new vis.Timeline(container, data, options);
但是,不会呈现任何与图表相关的内容。我认为该对象没有正确地传递到jade文件。请帮忙

还有,有没有办法验证Jade中的传入对象?警报似乎不起作用。 谢谢您的jade中的
是一个浏览器端脚本,因此无法访问模板生成范围中的变量。您需要将数据输出为JSON,并使用浏览器端JavaScript读取数据,如下所示:

script(src='vis/dist/vis.js')        
link(rel="stylesheet", href="vis/dist/vis.css", type="text/css")

script.
    var chartData = JSON.parse('#{cddata}')
    var options = {};
    var data = new vis.DataSet(chartData);
    var container = document.getElementById('visualization');
    new vis.Timeline(container, data, options);

经过深思熟虑,下面的工作将对象从节点服务器传递到客户端服务器,并在Jade文件上编写脚本

在server.js上,其中dbdata是JSON对象的数组

response.render('timeline', {dbdata:dbdata});
在玉锉上

script.
   var chartData = !{JSON.stringify(dbdata)};

谢谢,

请参阅我对类似问题的回答:谢谢。我将服务器文件更改为包含response.locals.docsJSON=JSON.stringify([dbdata]);jade文件包含var chartData=JSON.parse('#{dbdata}')var options={};var数据=新的可视数据集(chartData);var container=document.getElementById('visualization');新的可视时间线(容器、数据、选项);没有输出。我使用response.send(response.locals.docsJSON)验证了从服务器文件发送的JSON对象;它看起来是正确的。下面是使用response.send(response.locals.docsJSON)读取json时的外观;[[{“id”:“0581fe6a52fbc348f1e8825728ecea08”,“名称”:“bdz”,“文本”:“105”,“组”:1}],{“id”:“2d167d859de1b4ff1d4bb3691268e3a4”,“名称”:“bdz”,“文本”:“30”,“组”:1}],