使用jQuery實現Ajax請求隊列的最佳方式是什麼?具體而言,我想完成以下任務:如何使用jQuery實現ajax請求隊列
用戶觸發任意數量的網頁中的Ajax請求,這需要進行排隊,依次提交的。
網頁需要接收來自服務器的響應並相應地進行調整。最後,如果發生錯誤(連接丟失,服務器無法響應等),我希望jQuery調用JavaScript函數。
由於jQuery的Ajax函數中的錯誤處理機制不是非常直觀,所以我特別努力解決最後的需求。有任何示例/教程可以幫助我完成此任務嗎?
謝謝!
使用jQuery實現Ajax請求隊列的最佳方式是什麼?具體而言,我想完成以下任務:如何使用jQuery實現ajax請求隊列
用戶觸發任意數量的網頁中的Ajax請求,這需要進行排隊,依次提交的。
網頁需要接收來自服務器的響應並相應地進行調整。最後,如果發生錯誤(連接丟失,服務器無法響應等),我希望jQuery調用JavaScript函數。
由於jQuery的Ajax函數中的錯誤處理機制不是非常直觀,所以我特別努力解決最後的需求。有任何示例/教程可以幫助我完成此任務嗎?
謝謝!
我已經做了幾個像這樣的緩衝區。一些例子可以發現simple task Buffer和deferred item queue。
至於錯誤處理,你可以隨時使用.ajaxError
謝謝,這些看起來很有希望! – 2011-04-08 22:00:57
@Jen如果您使用服務器上的節點,請考慮使用socket.io或現在;) – Raynos 2011-04-08 22:16:17
jQuery ajax有一個錯誤屬性,您可以在其中附加一個函數,並且該方法只會在發生錯誤時觸發。看下面的例子:
jQuery.ajax({
type: "POST",
url: "url",
dataType:"json",
data:{},
success:function(data){
alert("Succeed!");
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
我希望你覺得這有幫助。
謝謝!我以前試過這些錯誤處理程序,但發現它們的行爲相當不可預測。即使連接丟失,我也會得到*成功*指示... – 2011-04-08 21:59:51
你可能會喜歡這樣的:http://www.erichynds.com/jquery/using-deferreds-in-jquery/ – 2011-04-08 21:54:42