顺序AJAX请求

时间:2010-10-26 16:22:37

标签: php jquery ajax json zend-framework

我遇到需要在页面上发出由有序列表(<ol><li>..)表示的顺序AJAX请求的情况。我使用jQuery。

要求:

  1. 每个请求必须等待上一个请求以成功状态完成。
  2. 成功或错误消息需要附加到相应的列表项。
  3. 如果任何项目发生错误,该过程应暂停。
  4. 错误可能是HTTP错误或使用JSON格式的响应返回的错误。
  5. 我的工作:

    1. 循环列表
    2. $.getJSON调用每个列表项的所需网址
    3. “要求”项目是我尚未解决的问题。


      我最终使用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错误。

2 个答案:

答案 0 :(得分:1)

你可能正在寻找

jQuery Message Queuing。它执行串行(顺序)AJAX请求。

您可以查看演示here

答案 1 :(得分:1)

可能有两种方式: -

  • 使用jQuery.ajaxQueue插件。这个插件将帮助您管理“Ajax竞争条件”。
  • 使用jQuery.ajax同步通话(点击“选项”标签查看)。要使调用同步,您需要将Ajax调用中的“async”选项设置为false。但是,它会减慢速度。

希望它有所帮助。