2012-12-20 18 views
7

Mam json (var data), który wygląda tak:jQuery loop through json?

{"success":"true","keywords":["firstkeyword","secondkeyword"]} 

i Im próbuje pętli słów kluczowych przy użyciu tego kodu:

  data.keywords.each(function(e){ 
       $('#campaign_keywords').append("<p>"+e+"</p>"); 
      }); 

Ale pojawia się błąd

Uncaught TypeError: Object firstkeyword,secondkeyword has no method 'each' 

Odpowiedz

13

Trzeba pętli przez to tak:

$.each(data.keywords, function (i, v) { 
    $('#campaign_keywords').append("<p>"+data.keywords[i]+"</p>"); 
}); 

jQuery.each()

+2

Wystarczy użyć 'v', aby uzyskać dostęp do wartości. – Shef

3

Dzieje się tak, ponieważ jest to tablica i musi być obiektem zawiniętym jquery w celu użycia funkcji jquery. Spróbuj:

$.each(data.keywords, function(index, value){...}); 
1

jego javascript tablicy, a nie obiekt jQuery. po prostu zastosuj $ do niego, aby obiekt jquery taki jak

$(data.keywords).each(function(e){ 
     $('#campaign_keywords').append("<p>"+e+"</p>"); 
    });