订购Ajax调用

我希望正在按特定顺序进行的ajax调用,让我使用一些代码进一步解释。

var feed_urls = [ 'URL_1', 'URL_2', 'URL_3', ... ... 'URL_N', ]; 

我正在使用jquery的getJSON方法进行ajax调用

 $.each(feed_urls,function(index,value){ $.getJSON(value, function(data) { $.each(data.feed.entry,function(i,val){ LIST.push(val.content.src); }); }); }); 

我面临的问题是,由于ajax调用是异步的,因此LIST的内容并不总是以相同的顺序。 反正有没有解决这个问题?

ajax调用的首选顺序是URL_1后跟URL_2后跟URL_3 ,依此类推,直到URL_N

使用ajaxSetup()和async:false,在其中:

 $.ajaxSetup( { data: "{}", async false, ..whatever else you need 

最简单的解决方案是在URL1完成后才启动URL2请求:

 function get(n,callback) { if (n == feed_urls.length) callback(); $.getJSON(feed_urls[n], function(data) { $.each(data.feed.entry,function(i,val){ LIST.push(val.content.src); }); get(n+1,callback); }); } get(0,function(){ // This is called when all lists have been loaded. alert(LIST); });