2010-10-26 172 views
1

我有一種情況,我需要在頁面上按順序列表(<ol><li>..)表示順序AJAX請求。我使用jQuery。連續AJAX請求

要求:

  1. 每個請求必須等待前一個成功狀態來完成。
  2. 成功或錯誤消息需要附加到相應的列表項。
  3. 如果任何項目發生錯誤,進程應停止。
  4. 錯誤可能是HTTP錯誤或JSON格式響應返回的錯誤。

我有什麼工作:

  1. 循環執行列表
  2. 製作$.getJSON調用所需的URL列表的每個項目

的「需求」的項目是件我的避風港沒有解決。


SOLUTION

我結束了使用jQuery Message Queuing,但我沒有找到一個方法來HTTP錯誤返回生成該請求的項目。我反而在另一個地方顯示一個錯誤。

$(document).ajaxError(function(event, response, settings, exception){ 
    $('#Admin').append('<p class="error">' + response.status + ' error requesting page:<br />' + settings.url + '<br />Reload this page to continue.</p>'); 
}); 

如果任何人都可以幫我解決這個問題,我寧願顯示HTTP錯誤。

回答

1

jQuery Message Queuing是你可能正在尋找。它執行串行(順序)AJAX請求。

您可以查看演示here

+0

看起來很有希望!現在檢查出來。 – Sonny 2010-10-26 16:33:53

1

可以有可能有兩種方式: -

  • 使用jQuery.ajaxQueue插件。這個插件將幫助你管理「Ajax競爭條件」。
  • 使用同步呼叫jQuery.ajax(單擊「選項」(Options)選項卡查看它們)。要使調用同步,您需要將Ajax調用中的「async」選項設置爲false。但是,它會減慢速度。

希望它有幫助。