-1

我有以下脚本:

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

4

1 回答 1

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

于 2016-05-31T06:46:21.853 回答