1
我工作的一個網站,並在我的代碼中的一些觀點,我做了一些AJAX調用:
PART(I)
所有AJAX請求完成?
for (var i = 0; i < arr.length; i++){
var id = arr[i].id;
makeXHRRequest(id);
}
和makeXHRRequest()
功能是這樣的:
PART(II)
function makeXHRRequest(id){
var jsonArg = ["id", id];
var jsonString = JsonBuilder(jsonArg);
var requestUrl = getUrl();
$.ajax({
url: requestUrl,
type: "POST",
contentType: 'application/json',
data: jsonString,
datatype: "json",
processdata: false,
success: function (result, status) {
console.log(result);
// TODO check if result is valid
if(result == null || result == ""){
//...
}else{
for(var i = 0; i < parent.arr.length; i++){
for(var j = 0; j < count; j++){
// !!!!! make another ajax call !!!!!!!!
makeAnotherXHRRequest(id);
}
}
}
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log("in get groupUsers fail");
}
});
}
注意這些是嵌套的AJAX調用 - >上面的part(I)
中發出的每個ajax調用在part(II)
中發出一堆子Ajax調用。所以我的問題是,如果程序想在所有數據準備好後執行一些任務,那麼程序如何知道part(I)
中的所有請求以及part(II)
中的所有請求是否完成?
http://stackoverflow.com/questions/11755186/tracking-with-java-script-if-ajax-request-is-going-on-in-a-webpage-or-intercept – 2013-04-22 03:27:01