3
我在我的一個頁面上觸發了2個Ajax請求,我需要等待它們都顯示數據給用戶之前加載。管理這個最好的方法是什麼?等待多個Ajax結果的好模式?
ajax請求是從2個獨立的類發出的,這些類暴露了MakeRequest(successCallback,failedCallback)方法,因爲我確信你可以告訴相關的回調函數在ajax完成時被調用。
這些都是(使用knockoutjs)控制器中調用,這裏有一個例子:
// Some JS File
function SomeController(ajaxService1, ajaxService2) {
this.model = ...
this.bothAjaxRequestsComplete = function() {
... Do something on view
};
this.invokeFirstAjax = function() {
ajaxService1.MakeRequest(firstAjaxSuccess, firstAjaxFailed);
};
this.invokeSecondAjax = function() {
ajaxService2.MakeRequest(secondAjaxSuccess, secondAjaxFailed);
};
var firstAjaxSuccess = function(data) {
... Do something on model
};
var secondAjaxSuccess = function(data) {
... Do something on model
};
var firstAjaxFailed = function(...) {...}
var secondAjaxFailed = function(...) {...}
}
var someController = new SomeController();
$(document).ready(function(){
someController.invokeFirstAjax();
someController.invokeSecondAjax();
});
[Jquery的AJAX逐個]的可能重複(http://stackoverflow.com/questions/6609372/jquery-ajax-one-by-one) –