2012-12-20 31 views
7

Tôi có một số json (var data) trông như thế này:jQuery lặp qua json?

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

Và im cố gắng để lặp qua các từ khóa sử dụng mã này:

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

Nhưng tôi nhận được lỗi

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

Trả lời

13

Bạn cần phải lặp qua nó như thế này:

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

jQuery.each()

+2

Chỉ cần sử dụng 'v' để truy cập các giá trị. – Shef

3

Đó là bởi vì nó là một mảng và nó cần phải là một đối tượng được bao bọc bởi jquery để sử dụng các hàm jquery. Hãy thử:

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

nó một mảng javascript, không jQuery đối tượng. chỉ áp dụng $ trên nó để làm cho nó đối tượng jquery như

$(data.keywords).each(function(e){ 
     $('#campaign_keywords').append("<p>"+e+"</p>"); 
    }); 
Các vấn đề liên quan