2016-05-31 98 views
-1

我有以下脚本:没有数据出现在JavaScript

var dataSet; 
d3.json("/TableData", function(error, json) { 
    if (error) return console.warn(error); 
    dataSet = json; 
}); 

$('#data-table').dynatable({ 
    dataset: { 
    records: dataSet 
    } 
}); 

/TableData是SQLAlchemy的调用返回一个DB:

{ 
    "data": [ 
{ 
    "Type": "Turbine", 
    "Seconds": 170, 
}, 
{ 
    "Type": "Turbine", 
    "Seconds": 75435, 
}]} 

我没有得到与控制台中的任何错误,但没有在flask网站上显示?如果我去http://127.0.0.1/TableData我可以看到表格数据。

+0

也标记为重复我不知道什么是异步调用是如此无法在搜索中找到答案 – KillerSnail

回答

1

这就是为什么因为d3.json函数是异步的,并且dataSet变量只能在执行dynatable代码之后才能设置。

所以试试这种方式。

d3.json("/TableData", function(error, json) { 
    if (error) return console.warn(error); 
    var dataSet = json; 
    $('#data-table').dynatable({ 
    dataset: { 
     records: dataSet 
    } 
    }); 
}); 

您可以通过控制台登录从d3.json回调函数的函数内外dataSet变量值证实了这一点。