0

可能重复:
对 ajax 请求进行排序

我得到了一系列艺术家的名字。对于每个艺术家的姓名,我都会对网络服务进行 ajax json 调用,以获取该艺术家的歌曲。

我现在的问题是:我如何确定所有 ajax 请求都已完成(成功或失败)。

我查看了DeferredsAjaxManager,但我无法实现它以便它运行(如果它是正确的方法......)

我的代码看起来像:

$.each(tf.suggestedArtists, function(index, artist){
  var url = tf.enBaseUrl + "song/search?api_key=" + tf.apiKey + "&format=json&artist=" + artist.name + "&bucket=id:spotify-WW&bucket=tracks"

  $.ajax({
    type: "GET",
    url: url,
    dataType: 'json',
  }).done(function( data ) {
    //...do some more stuff

由于 JSON 和跨域问题,无法异步执行这些调用。

4

1 回答 1

1

If you want to be sure that all ajax requests are completed, you can use an if statement, and $.active,.

if($.active > 0){ 
  //There's an ajax request pending.
}else{
  //No ajax requests pending.
}
于 2012-07-31T14:03:29.373 回答