使用Jquery显示Flask JSON数据

时间:2018-12-30 19:34:42

标签: javascript jquery

我正在尝试显示来自我的flask函数的json数据。

我可以使用getJson方法获取这些数据,但是getJSon可以执行诸如单击或更改之类的操作。

getJSon返回数据,但是我不能在函数外使用它们。

例如

$.getJSON('../admin/graphe_1', {

}, function(data) {
    chart.data = data
    console.log(data)
}); 
console.log(chart.data)

第一个控制台日志显示数据,但是第二个控制台什么都不显示。

如何从函数中获取此数据?

1 个答案:

答案 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线程。