2013-06-20 32 views
2

下面的代碼:需要將所有JSON推入從AJAX數組,jQuery中

var newFeeds = []; // ** GLOBAL ** 

$(document.body).click(function() { 

$.ajax({ 
      type: "POST", 
      url: "http://mysite.com/feed.php", 
      success: function (data) { 
         $(newFeeds).push(data); 
         alert(newFeeds.length); 
         }, 
      error: function(error){ 
         alert('Error: ' + error); 
        }, 
      dataType: "json" 
    }); 
}); 

我可以從服務器獲取數據。一切正常,但陣列從未填滿。 但奇怪的是newFeeds.length返回0!爲什麼? 我需要接收到的數據並將其推入數組中以備後用。

+2

太多的jQuery包裝它。 –

+0

並且當然不會忘記,在異步調用完成之後,'newFeeds'不會被填充 – Alnitak

+0

所以,你們會幫助他,還是通過啤酒和一包芯片? – gibberish

回答

4
$(newFeeds).push(data) 

應該是

newFeeds.push(data) 

newFeeds是已經聲明的數組。

var newFeeds = []; 

但在回調你像jQuery Object

$(newFeeds) 
+0

好吧,糾正後(我的壞,忘了撤消我所有的嘗試),它仍然不會總結。我在json中得到3個結果。我希望在第二次點擊時得到6,但由於某種原因,它仍然是3(?) – Ted

+0

@Ted你確定在檢查數組長度之前給你回調一個完成的機會(關於這個問題上面的每個註釋)? – Alnitak

+0

'data'的外觀如何? –