2012-03-24 58 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