我使用頁面如何檢查所有的Ajax得到
1. $.load("abc.com/users");
2. $.load("abc.com/usersrates");
3. .....
4. .......
的倍數Ajax和有一個下一步按鈕進入到另一個頁面完成這是禁用了,我想,當所有的Ajax,使該下一個按鈕完成。
任何想法將不勝感激。
我使用頁面如何檢查所有的Ajax得到
1. $.load("abc.com/users");
2. $.load("abc.com/usersrates");
3. .....
4. .......
的倍數Ajax和有一個下一步按鈕進入到另一個頁面完成這是禁用了,我想,當所有的Ajax,使該下一個按鈕完成。
任何想法將不勝感激。
編輯:$.when
在這方面的反應要好得多!
這是一個有點哈克但將努力
<script>
var totalLoads = 2;
var currentLoad = 0;
function checkLoads()
{
if (currentLoad == totalLoads)
{
// enable button
}
}
$.load("abc.com/users", funciton() { currentLoad++; checkLoads(); });
$.load("abc.com/usersrates", funciton() { currentLoad++; checkLoads(); }));
</script>
它的工作很好。有沒有簡短的方法,我的意思是我可以通過Ajax全局函數或簡短的方式實現這一點。 –
使用$.when
,多個Ajax調用。
例如:
$.when($.load("abc.com/users"), $.load("abc.com/usersrates"))
.then(successCallback, errorCallback);
欲瞭解更多信息,請參見本jQuery.when()
其顯示下一個按鈕提前完成響應。我想在所有加載函數完成其響應時檢查條件。但它顯示所有請求完成之前。 –
使用$.when
。
$.when($.ajax(...), $.ajax(...)).done(function(a1, a2) {
}
}).failed(function(f1,f2){
});
//每個參數是具有以下結構的數組:[數據, 狀態文本,jqXHR]
// A1和A2被解析參數用於第一和第二ajax 分別成功請求。
// f1和f2是爲第一個和第二個ajax失敗請求分別解析的參數 。
$ .load提供了一個完整的回調.. http://api.jquery.com/load/ –
@Syed Qurib但是這裏不是單一的$ .load然後怎麼樣? –
@JitendraYadav使用完整的回調函數。 –