这是我的代码:
$(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
”。
提前谢谢!
答案 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()回调。