最近在找等待多個 Ajax 完成的方法,找到
jQuery.when函数分析這篇文章中有處理多個 Ajax 的方法,但對於數量不固定的狀況,jQuery.when 輸入參數的方式實在有點討厭,必須要指定 Ajax 的數量,還好想起有
apply 這個方法可以用,可以將 array 轉換成呼叫 function 的參數,這樣不管有多少數量,都可以很輕鬆的帶入到 jQuery.when 中。
/*將多個 Ajax 加到 array 中*/
var ajaxRequest=[];
for (var i=0; i<10; i++){
ajaxRequest.push(
$.ajax({
data: {'a':i},
success: function(data) {
console.log(data);
}
})
);
};
/*利用 apply 將 ajaxRequest 帶入 jQuery.when*/
var der=$.when.apply( $, ajaxRequest )
der.always(function() {
console.log(arguments);
alert('全部結束');
});
der.done(function() {
console.log(arguments);
alert('全部成功');
});
沒有留言:
張貼留言
你好!歡迎你在我的 Blog 上留下你寶貴的意見。