1

这是我的代码:

$(document).ready(function() {
    var myArray = [];
    $.getJSON("some url",function(data){
        $.each(data, function(){
            myArray.push("a string" + this);
        });
        alert(myArray);
    });
    //alert(myArray);
});

所示代码运行良好,它显示了数组及其内容。

但是,当我尝试通过在$.each代码块之后使用命令行来显示数组(在示例代码中注释掉)时,不会显示数组及其内容。而是返回空/空白消息。

为什么会发生这种情况,我该如何解决?我想在块alert(myArray);之后有命令“” 。$.each

先感谢您!

4

1 回答 1

0
var myArray = [];
var jqxhr = $.getJSON( "some url", function(data) {
  $.each(data, function(){
     myArray.push("a string" + this);
  });
})  ;

jqxhr.complete(function() {
  console.log(myArray);
});

jQuery XHR 对象或“jqXHR”由 $.getJSON() 返回

当请求已经完成时,立即触发 .complete() 回调。

于 2016-10-17T06:12:33.547 回答