2012-03-24 79 views
0

我尝试迭代通过一个ID数组并为每个id做一个ajax请求。后续每个响应对象被推入一个数组/目前为止没有问题,但是,当我尝试访问数组中的响应时,问题就开始了。奇怪的是,在控制台日志中显示的响应(ouside数组虽然,见下文),但数组对象的属性是空的/看起来我生成一个空的对象与一些数据附加到它/我的问题是如何我可以访问阵列中的物体(或不在?)阵列在数组中推送ajax json响应

var getAssoc = { 
     returnProds: function (idCache) { 
      var id = idCache; 
      var prodData = []; 
      var counter = id.length; 
      $.each(id, function (i) { 
       $.ajax({ 
        url: "myurl.php?", 
        data: { 
         'id': id[i] 
        }, 
        success: function (data) { 
         prodData[i] = data; 
          counter--; 
          if (counter === 0) console.log(prodData); 
        },     
       }) 
      }); 
     } 
    }; 

控制台日志看起来像这样。测试属性的数目将返回0

[]
0对象{阵列= {...}}
1对象{阵列= {...}}
2对象{阵列= {... }}
3对象{阵列= {...}}

回答

0

在您成功回调尝试解析从你的服务器来响应:

jQuery.parseJSON(data); 
+0

感谢马丁您的快速回复/的结果在响应对象的特性s在数组中为“null”/通过dataType是我在$ .ajaxSetup中指定的方式jsonp – Macs 2012-03-24 15:37:38

+0

'console.log(data)'在成功函数中显示了什么? – 2012-03-24 18:19:03

+0

that would be“[],0 Object {null},1 Object {null},2 Object {null},3 Object {null}”;我也有兴趣,如果我怎么能够访问我的初始职位的控制台日志中显示的对象/因为我后来的数据显示在日志中,当我点击萤火虫中的对象时,可能会有一种访问它们的方法。然而,由于父对象是可测空的,我不知道我该怎么做 – Macs 2012-03-25 08:56:32