我有一个用于我的Node.js项目的Jade模板。我希望将一个对象发送到该Jade模板,并将其传递给页面内的一个函数(以渲染某些内容)。
我确定我从服务器正确地发送了如下内容:
res.render(__dirname + '/pages/viz.jade', {
vizJson: newJson,
});
在客户端我会像这样做:
script
sunburst(#{vizJson})
因此,在脚本函数内部,我想调用一个使用我在服务器端创建的某些JSON创建我的可视化的函数。问题是,渲染时我得到了类似于sunburst([Object object])
的东西。我还尝试发送JSON的字符串版本,但是当我执行JSON.parse(#{vizJson})
时,它会报错,如Unexpected token &
。我发送的JSON始终不同,并且具有不同的深度级别。有人知道该怎么办吗?谢谢
"{\"some_key\":...}"
。这可能是由于我获取原始JSON对象的方式而导致的,但是在此示例中,我将输出包装在一个页面内的JSON.parse("{"some_key":...}")方法中。该对象在浏览器中似乎运行良好。 - hellatan</script>
标签也会破坏DOM,并允许任意javascript执行(请参见http://escape.alf.nu/2/)。 - James!{JSON.stringify(vizJson).replace(/</g, '<').replace(/>/g, '>');}
可以解决这个问题? - Simon A. Eugster将循环结构转换为JSON
吗? - hzhu