我正在尝试显示来自我的flask函数的json数据。
我可以使用getJson方法获取这些数据,但是getJSon可以执行诸如单击或更改之类的操作。
getJSon返回数据,但是我不能在函数外使用它们。
例如
$.getJSON('../admin/graphe_1', {
}, function(data) {
chart.data = data
console.log(data)
});
console.log(chart.data)
第一个控制台日志显示数据,但是第二个控制台什么都不显示。
如何从函数中获取此数据?
答案 0 :(得分:0)
原因是getJSON
,函数是异步的。因此,第二个console.log
在实际加载到您的应用程序之前先打印数据。因此,它可能会输出null。第一个console.log
位于函数中,该函数在成功完成数据加载后立即执行。因此,它应该打印正确的数据。如果要在成功加载数据后执行操作,请在包含您的第一个console.log
的完成函数中进行操作。如果要使用同步执行,
$.ajax({
dataType: "json",
url: url,
async: false,
data: data,
success: function (data){
chart.data=data;
}
});
console.log(chart.data); // data should be loaded
不建议这样做,因为它会阻塞UI线程。