2012-12-20 44 views
7

Ich habe einige json (var data), die wie folgt aussieht:jQuery Schleife durch Json?

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

Und im Versuch, eine Schleife durch die Schlüsselwörter mit diesem Code:

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

Aber ich

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

Antwort

13

Sie müssen Schleife durch sie wie folgt aus:

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

jQuery.each()

+2

zu machen. Verwenden Sie einfach 'v', um auf die Werte zuzugreifen. – Shef

3

Das ist, weil es ein Array ist und es ein jquery-umhülltes Objekt sein muss, um jquery-Funktionen zu verwenden. Versuchen:

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

Es ist ein JavaScript-Array, nicht jQuery-Objekt. Übernehmen Sie einfach $, um es zu einem jquery-Objekt wie

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