多个jqueryajax请求相同的回调

多个jqueryajax请求相同的回调,jquery,Jquery,我有一个要向其发出请求的URL列表。响应的处理是相同的,除了根据我发出请求的url更新页面的不同部分,所以我希望对每个请求使用相同的回调 我的问题是,第一个请求调用回调,然后在第一个请求的处理完成之前再次调用第二个请求。这在某种程度上是意料之中的,但我原以为它会在处理完第二个请求后返回处理第一个请求。即使async设置为false,这种情况也会发生——显然,调用回调时同步部分会停止 我找到的唯一解决方案是在回调中发出第二个请求。有更好的办法吗 以下是问题代码: function doStuff(

我有一个要向其发出请求的URL列表。响应的处理是相同的,除了根据我发出请求的url更新页面的不同部分,所以我希望对每个请求使用相同的回调

我的问题是,第一个请求调用回调,然后在第一个请求的处理完成之前再次调用第二个请求。这在某种程度上是意料之中的,但我原以为它会在处理完第二个请求后返回处理第一个请求。即使async设置为false,这种情况也会发生——显然,调用回调时同步部分会停止

我找到的唯一解决方案是在回调中发出第二个请求。有更好的办法吗

以下是问题代码:

function doStuff() {
   // populate a var urls array with data from user input
   var urls = new Array();
   // ... code to populate urls ...

   // loop through urls and send requests
   for (var i = 0; i < urls.length; i++) {
       $.ajax({url: urls[i],
               success: handleResponse,
               dataType:'html'});
   }
}

function handleResponse(data) {   
    url = this.url;
    // process based on url
}
函数doStuff(){
//使用来自用户输入的数据填充var URL数组
var url=新数组();
//…用于填充URL的代码。。。
//循环URL并发送请求
对于(var i=0;i
在您的情况下可能很有用

但是如果我提前知道URL的数量,这似乎更有用。在我的例子中,我没有(我编辑了示例代码以反映这一点)。也许我仍然可以使用延迟-还不确定。