2014-09-25 25 views
0

我尝试在我的阵列,推动循环从阿贾克斯的JSON数据,但外界$.getJSON("/admin/reports/stats/1", function(datas) {});数据变量为空满阵是空的外功能

var data = []; 
$.getJSON("/admin/reports/stats/1", function(datas) { 
    $(datas).each(function(index, value){ 
     obj={}; 
     obj['label']= value.publisher_name; 
     obj['data']= value.sale; 
     data.push(obj); 
    }); 
    console.log(data); //here I see the content of array  
}); 

console.log(data); //here is empty 
+1

你会找到答案和解释[这里](http://tech.pro/blog/1402/five-patterns-to-help-you-tame-asynchronous-javascript)。 – 2014-09-25 12:44:44

+0

使用.done()并在您的数据上执行您的操作。 – maddy 2014-09-25 12:47:10

回答

1

的getJSON是异步的,所以这样的:

console.log(data); //here is empty 

实际上是在可以下载JSON之前执行的。