jQuery队列多个JSON调用和回调

时间:2012-07-31 13:41:40

标签: jquery ajax json queue

  

可能重复:
  Sequencing ajax requests

我有一系列艺术家的名字。 对于每个艺术家的名字,我做一个ajax json调用web服务来获取这位艺术家的歌曲。

我现在的问题是:我怎么能确定所有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和跨域问题,无法执行这些异步调用。

1 个答案:

答案 0 :(得分:1)

如果您想确保所有ajax请求都已完成,您可以使用if语句和$.active ,.

if($.active > 0){ 
  //There's an ajax request pending.
}else{
  //No ajax requests pending.
}