SOLVED -由于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方法触发时,什么也没有发生。
你有一个范围和时间问题。'Scope',因为变量resultJSON
只存在于$.getJSON
回调方法中。"时序",因为即使您设法共享resultJSON
变量,由于$.getJSON
方法的异步性质,resultJSON
变量不会及时填充以在$.ajaxStop
方法中使用。