多个AJAX请求终止时的回调

时间:2011-12-26 02:44:41

标签: javascript jquery ajax

已解决 - 由于HTML中的一个简单错误搞砸了关联的Javascript

在尝试发出一系列AJAX请求后,我尝试使用“.ajaxStop”发出回调。但是,我的代码在请求完成后没有调用回调。

这是我的代码:

    $.getJSON('https://graph.facebook.com/me/mutualfriends/' + 
              friendArray[i] + "?access_token=" + accessToken, 
        (function(index) {
for (var i = 0; i < friendArray.length; i++){
        return function(dataJSON2) {
            resultArray = dataJSON2['data'];

            resultJSON += '"' + friendArray[index] + '"' + ":" + resultArray.length;

            if (index != friendArray.length - 1){
                resultJSON += ",";
            }else {
                resultJSON += "}";
            }
        }
    }) (i));    
}

$('#messageContainer').ajaxStop( function() {
    $(this).html(resultJSON);
});

我的AJAX请求的每个回调都正确地放在一个关闭的回调中,但是当我等待ajaxStop方法触发时,没有任何反应。

1 个答案:

答案 0 :(得分:0)

您有范围和时间问题。 “范围”,因为变量resultJSON仅存在于您的$.getJSON回调方法中。 “时间”因为即使您设法共享resultJSON变量,由于$.getJSON方法的异步性质,resultJSON变量也不会及时填充以便在内部使用$.ajaxStop方法。