我正在嘗試爲我的網站設置ajax進度條。有時,多個Ajax調用鏈接在一起,這是我的代碼jquery ajax進度條
var xhrs = [];
function ajaxCall(){
xhr = $.ajax({
...other ajax code...
success: function(data){
anotherAjaxCall(data);
}
});
xhr.onreadystatechange = reportStatus;
xhrs.push(xhr);
}
function anotherAjaxCall(data){
xhr = $.ajax({
...other ajax code...
});
xhr.onreadystatechange = reportStatus;
xhrs.push(xhr);
}
...lots more functions that make ajax calls....
function reportStatus(){
var overallPercent = 0;
for(i = 0; i < xhrs.length; i++){
overallPercent += (xhrs[i].readyState * 20);
}
var percent = overallPercent/xhrs.length;
alert(percent + " = " + overallPercent + "/" + xhrs.length);
//update progress bar
updateProgressPercentage(percent);
}
從reportStatus功能一切發生的警報是第一個Ajax調用得到4 readyState的,它調用不運行AJAX的第二個功能打電話給它。有沒有人有任何想法爲什麼第二個函數運行,但內部Ajax調用沒有。提前致謝。
添
我假設'anotherAjaxCall'實際上並沒有定義爲'xhr = $ .ajax({});'? – mellamokb 2011-03-03 04:34:43
是的,我應該讓這更明確的抱歉。 – 2011-03-03 04:41:06
爲什麼你想使用ajax?以及您如何計劃持續獲得響應並使用它? – 2011-03-03 04:49:53