在許多 Web 應用程式中,通常會遇到需要迭代集合並對每個元素發出 Ajax 請求的情況。雖然利用非同步請求來避免瀏覽器凍結很誘人,但有效管理這些請求可以防止伺服器過載和其他潛在問題。
對於 jQuery 1.5 及更高版本,$. ajaxQueue() 插件提供了一個簡單的解決方案。該插件利用 $.Deferred、.queue() 和 $.ajax() 函數來編排 Ajax 請求並傳回一個在請求完成時解析的承諾。
For 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($("
透過採用這兩種方法中的任何一種,開發人員都可以有效地管理 Ajax 請求的順序,確保有序執行並避免潛在的伺服器端問題。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3