在許多 Web 應用程式中,經常需要迭代集合並對每個元素發出 Ajax 請求。雖然利用非同步請求來避免瀏覽器凍結很誘人,但有效管理這些請求可以防止伺服器過載和其他潛在問題。
對於 jQuery 1.5 及更高版本,$. ajaxQueue() 插件提供了一個簡單的解決方案。該插件利用 $.Deferred、.queue() 和 $.ajax() 函數來編排 Ajax 請求並傳回一個在請求完成時解析的承諾。
對於 jQuery 1.4 用戶,另一種方法是使用空對像上的動畫隊列建立「隊列」。此技術可確保 Ajax 請求以受控方式執行,如果佇列尚未運行,第一個請求將自動啟動。
以下程式碼片段說明如何實作 Ajax使用 $.ajaxQueue() 外掛程式進行排隊。它迭代元素列表,並透過Ajax 請求將每個項目複製到目標列表:
$("#items li").each(function(idx) { $.ajaxQueue({ url: '/echo/html/', data: { html: "[" + idx + "] " + $(this).html() }, type: 'POST', success: function(data) { $("#output").append($("<li>", { html: data })); } }); });
透過採用這些方法中的任何一種,開發人員都可以有效地管理Ajax 請求的順序,確保有序執行並避免潛在的伺服器端問題。
以上是如何在 Web 應用程式中有效地對 Ajax 請求進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!