$ .getJSON onComplete事件不等待结果

时间:2015-07-13 11:40:51

标签: javascript jquery ajax json

我从JSON获取了一个img源列表,我调用了loadThumbs(json)事件,但它说json未定义我将它打印到控制台并且它是空的,但如果我打印手动输出它打印出JSON对象。所以问题是loadThumbs(json)$.getJSON完成之前运行。

$.getJSON("api.php?query=references", function(result){
    loadThumbs(result);
    //other code that works fine
});

function loadThumbs(json) {
    preload(json[current].images);
    //other code works fine
}

function preload(arrayOfImages) {
    $(arrayOfImages).each(function(){
        $('<img/>')[0].src = this;
    });
}

1 个答案:

答案 0 :(得分:0)

你必须在 .done 上调用你的功能。您可以尝试此代码

$.getJSON("api.php?query=references", function(){

    //other code that works fine
}).done(function( result) {
// call here
loadThumbs(result);
});

function loadThumbs(json) {
    preload(json[current].images);
    //other code works fine
}

function preload(arrayOfImages) {
    $(arrayOfImages).each(function(){
        $('<img/>')[0].src = this;
    });
}

了解更多信息click Here