2017-09-14 43 views
-2

這是代碼,所以我得到這一結果:從ajax回調中打印所有數組(循環)?

$.ajax({ 
        url: location.origin+'/getcat?t='+id, 
        dataType:"json" 
}).success(function(data){ 
        var array = data.data; 
        array.ForEach(function(print){ 
         console.log(print.title); 
}); 

我有一個Ajax回調是這樣的:

enter image description here

,這是錯誤消息:

Uncaught TypeError: array.ForEach is not a function 
    at Object.<anonymous> (blogs:811) 
    at j (jquery-2.1.1.min.js:2) 
    at Object.fireWith [as resolveWith] (jquery-2.1.1.min.js:2) 
    at x (jquery-2.1.1.min.js:4) 
    at XMLHttpRequest.<anonymous> (jquery-2.1.1.min.js:4) 

我試着用data.ForEach(function(){});打印出所有的data但錯誤。我知道這應該可以用php foreach()完成,但我需要在javascript中完成。怎麼做 ?

+0

請提供代碼,所以我可以調試是什麼 –

+0

來與您的代碼 –

+0

問題您可能想閱讀併發布錯誤消息 – Thomas

回答

0

只是三個小技巧,以提高你的開發技能:

首先,你說你有一個錯誤。只要閱讀錯誤,你就會知道這個問題(大多數時候錯誤足夠冗長)。其次,如果你沒有線索,那麼你應該在這裏分享錯誤,所以他們有額外的數據可以幫助發現問題。第三,看起來你有縮進問題,這可能導致難以讀取的代碼。

這裏的問題是,ForEach必須與第一個字母小寫,如JavaScript使用下駝峯,所以:

$.ajax({ 
    url: location.origin+'/getcat?t='+id, 
    dataType:"json" 
}).success(function(data){ 
    var array = data.data; 
    array.forEach(function(print){ // camelCase it 
     console.log(print.title); 
    }); // You forgot to add this close block. I guess you have it elsewhere in your code. 
});