2014-05-19 35 views
0

我使用頁面如何檢查所有的Ajax得到

1. $.load("abc.com/users"); 
2. $.load("abc.com/usersrates"); 
3. ..... 
4. ....... 

的倍數Ajax和有一個下一步按鈕進入到另一個頁面完成這是禁用了,我想,當所有的Ajax,使該下一個按鈕完成。

任何想法將不勝感激。

+1

$ .load提供了一個完整的回調.. http://api.jquery.com/load/ –

+0

@Syed Qurib但是這裏不是單一的$ .load然後怎麼樣? –

+0

@JitendraYadav使用完整的回調函數。 –

回答

0

編輯:$.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> 
+0

它的工作很好。有沒有簡短的方法,我的意思是我可以通過Ajax全局函數或簡短的方式實現這一點。 –

1

使用$.when,多個Ajax調用。

例如:

$.when($.load("abc.com/users"), $.load("abc.com/usersrates")) 
     .then(successCallback, errorCallback); 

欲瞭解更多信息,請參見本jQuery.when()

+0

其顯示下一個按鈕提前完成響應。我想在所有加載函數完成其響應時檢查條件。但它顯示所有請求完成之前。 –

0

使用$.when

$.when($.ajax(...), $.ajax(...)).done(function(a1, a2) { 



     } 
    }).failed(function(f1,f2){ 


    }); 

//每個參數是具有以下結構的數組:[數據, 狀態文本,jqXHR]

// A1A2被解析參數用於第一和第二ajax 分別成功請求。
// f1f2是爲第一個和第二個ajax失敗請求分別解析的參數 。