gpt4 book ai didi

javascript - express 和 Jade : getting a variable into JavaScript

转载 作者:行者123 更新时间:2023-12-02 16:12:19 26 4
gpt4 key购买 nike

我遇到以下问题:在服务器端我正在创建一个图表。我想使用 Sigma.js 库显示此图。作为引用,生成的数据如下所示:

{ nodes: 
[ { id: '423ed89a-491d-416b-9c19-13fcb6db45bc',
label: 'Nevens Jens',
x: 0.5935997352935374,
y: 0.36792555125430226,
size: 5,
color: '#fff' } ],
edges: [] }

在我的 Express 应用程序中,我使用以下代码来渲染 Jade 页面:

app.get('/network', function (req, res) {
//Function calls to generate graph
function someCallback(data) {
res.render('graph', {graphData: data});
}
}

接下来,在我的 Jade 文件中,我想将此数据分配给一个变量,以便我可以在 JavaScript 文件中使用它:

script(src='/javascripts/vendor/sigma.min.js')
script.
var graphData = '#{graphData}'
script(src='/javascripts/graph.js')

我的 JavaScript 文件如下所示:

$(document).ready(function () {

console.log(graphData.nodes);
console.log(graphData.edges);
var s = new sigma({
graph: graphData,
renderer: {
container: document.getElementById('graph-container'),
type: 'canvas'
}});
s.refresh();

});

问题是,当我在浏览器中查看控制台时,它显示 undefined 两次。

这是将数据传输到 JavaScript 文件的正确方法吗?我还做错了什么吗?

最佳答案

您将 data 对象作为字符串输出,因此您可能会看到类似的内容var data = '[Object object]' 在你输出的html中。

在您的 Jade 模板中执行类似的操作应该可以解决此问题:

script.
var graphData = !{graphData}

让我知道这有帮助!

编辑:更新 Adrian 的评论

关于javascript - express 和 Jade : getting a variable into JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30037197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com