2010-09-28 3 views
0

У меня возникли проблемы с получением значений из объекта JSON, который возвращается после запроса GQQEER GET, и я надеюсь, что кто-то здесь сможет помочь. Думаю, я могу делать что-то глупое, но не могу понять.Проблема с извлечением значений из объекта JSON

В поджигатель ответ будет отображаться как:

[{"plan_id":"2","plan_name":"plan 2","plan_desc":"plan 2 desc"}] 

Однако, когда я пытаюсь получить значения они являются неопределенными.

Вот код, я использую:

jQuery(function(){ 
jQuery("#add_plan").click(function(){ 
var val = jQuery("#plan_id").val(); 
if (!isNaN(val)) 
{ 
     jQuery.ajax({ 
     success: function(data) { 
     if (data) 
     { 

     jQuery("#plan-list").append(
"<li>" 
+ " <label for=\"plans\">" + data.plan_name + "</label>" 
+ "</li>" 
); 
     } 
     }, 
     type: 'GET', 
      dataType: 'json', 
      url: 'http://example.com/plans.php?plan=' + val 
     }); 
} 
}); 
}); 

Любая помощь будет оценена.

Благодаря

Пол

ответ

4

Поскольку это массив, вам нужно data[0].plan_name вместо этого, или, возможно, цикл вроде этого, если вы ожидаете несколько результатов:

$.each(data, function() { 
    $("<label for='plans' />").text(this.plan_name).wrap("<li />").parent() 
    .appendTo("#plan-list"); 
}); 

You can give it a try here.

3

Присмотревшись, ваш JSON результат

[{...}] 

является объектом ({}) внутри массива ([]).

Вы сможете получить доступ к данным с помощью

data[0].plan_name 
0

Вышеуказанные плакаты являются правильными, но не думайте, что всегда будет массив, проверить значение данных каждый раз. Если это объект, продолжайте. Если это цикл объекта/массива.

Смежные вопросы