我需要发出多个$ .get请求,处理他们的响应,并将处理结果记录在同一个数组中。代码如下所示:
$.get("http://mysite1",function(response){ results[x1] = y1; } $.get("http://mysite2",function(response){ results[x2] = y2; } // rest of the code,e.g.,print results
解决方法
有一个非常优雅的解决方案:jQuery Deferred对象。 $ .get返回一个实现Deferred接口的jqXHR对象 – 这些对象可以这样组合:
var d1 = $.get(...); var d2 = $.get(...); $.when(d1,d2).done(function() { // ...do stuff... });
阅读更多在http://api.jquery.com/category/deferred-object/和http://api.jquery.com/jQuery.when/