可能重复:
Sequencing ajax requests
我有一系列艺术家的名字。 对于每个艺术家的名字,我做一个ajax json调用web服务来获取这位艺术家的歌曲。
我现在的问题是:我怎么能确定所有ajax请求都已完成(成功或失败)。
我查看了Deferreds和AjaxManager,但我无法实现它以便它运行(如果它是正确的方法......)
我的代码类似于:
$.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和跨域问题,无法执行这些异步调用。
答案 0 :(得分:1)
如果您想确保所有ajax请求都已完成,您可以使用if语句和$.active
,.
if($.active > 0){
//There's an ajax request pending.
}else{
//No ajax requests pending.
}