0

重複の可能性:
ajax リクエストの順序付け

アーティスト名の配列を取得しました。アーティスト名ごとに、Web サービスに対して 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

すべてのajaxリクエストが確実に完了するようにしたい場合は、ifステートメントと、を使用できます$.active

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