我有以下脚本:
var dataSet;
d3.json("/TableData", function(error, json) {
if (error) return console.warn(error);
dataSet = json;
});
$('#data-table').dynatable({
dataset: {
records: dataSet
}
});
/TableData
是对db的sqlalchemy调用,返回:
{
"data": [
{
"Type": "Turbine",
"Seconds": 170,
},
{
"Type": "Turbine",
"Seconds": 75435,
}]}
我的控制台没有任何错误,但flask
网站上没有显示任何内容?如果我转到http://127.0.0.1/TableData
我可以看到表数据。
答案 0 :(得分:1)
这就是为什么因为d3.json
函数是异步的,只有在执行可动态代码之后才能设置dataSet
变量。
所以试试这种方式。
d3.json("/TableData", function(error, json) {
if (error) return console.warn(error);
var dataSet = json;
$('#data-table').dynatable({
dataset: {
records: dataSet
}
});
});
您可以通过控制台记录dataSet
回调函数内部和函数外部的d3.json
变量值来确认这一点。