jQuery.each()和Array Manipulation

时间:2013-04-18 18:47:14

标签: javascript jquery arrays getjson

这是我的代码:

$(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”。

提前谢谢!

1 个答案:

答案 0 :(得分: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()回调。