javascript中没有数据显示

时间:2016-05-31 06:41:52

标签: javascript d3.js flask dynatable

我有以下脚本:

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我可以看到表数据。

1 个答案:

答案 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变量值来确认这一点。