如何在之前的启动完成后启动ajax请求?

时间:2009-08-19 12:58:39

标签: javascript ajax synchronization prototypejs

我需要启动几个ajax请求。 出于某些原因,我想要同步这个。也就是说,在启动ajax请求之前,我必须知道先前的请求是否已经完成。

原型的Updater对象的'asynchronous:false'属性似乎不起作用。

   // A loop to launch one after each other the requests uploading elements of chunk[] 
    for (i = 0; i < chunks.length; i++) {
    new Ajax.Updater( 'myId',
        AJAX_SERVER + 'serviceName=' + sServiceName + sServiceParams,
        { 
          evalScripts: true,
          method: 'get',
          asynchronous : false;
         } );
}

2 个答案:

答案 0 :(得分:4)

根据Prototype docsasynchronous选项 -

  

确定XMLHttpRequest是否为   是否异步使用。以来   同步使用是相当的   令人不安,通常味道不好,你   应该避免改变这一点。严重。

您可以向服务器发出异步ajax请求,它将调用onSuccess / onComplete / onFailure处理程序的回调函数集。在该回调中,您可以调用下一个方法,依此类推。

答案 1 :(得分:0)

由第一个AJAX请求onComplete or onSuccess callbacks调用它。