2010-09-28 2 views
0

J'ai un peu de mal à récupérer les valeurs d'un objet JSON qui est retourné après une requête jQuery GET et j'espère que quelqu'un ici pourra vous aider. Je pense que je fais peut-être quelque chose de stupide mais je n'arrive pas à le comprendre.Problème lors de la récupération de valeurs à partir d'un objet JSON

En Firebug la réponse est Montrer comme:

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

Cependant lorsque je tente de récupérer les valeurs qu'ils ne sont pas définies.

Voici le code que je utilise:

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 
     }); 
} 
}); 
}); 

Toute aide serait appréciée.

Merci

Paul

Répondre

4

Puisqu'il est un tableau, vous devez data[0].plan_name à la place, ou peut-être une boucle comme si vous attendez plusieurs résultats:

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

You can give it a try here.

3

En regardant de près, le résultat JSON

[{...}] 

est un objet ({}) dans un tableau ([]).

Vous serez en mesure d'accéder aux valeurs à l'aide

data[0].plan_name 
0

Les affiches ci-dessus sont corrects, mais ne présumez pas qu'il y aura toujours un tableau, tester la valeur des données à chaque fois. Si c'est un objet, continuez. Si c'est une boucle objet/tableau.

Questions connexes