J'essaie de parcourir cela pour obtenir les valeurs de "nom". C'est ce que j'ai actuellement, mais cela ne semble pas fonctionner, j'ai essayé quelques autres de ce qui a été posté ici, mais rien ne semblait fonctionner.
$.get("/get_names", {campaign_id: $('select[name="id"]').val()},
function(data){
$.each(data, function(i, item) {
alert(item);
});
}
);
Retour de Json:
[
{
"name":"age"
},
{
"name":"asdf"
},
{
"name":"drivername"
},
{
"name":"drivers"
},
{
"name":"firstname"
},
{
"name":"gender"
},
{
"name":"lastname"
},
{
"name":"make"
},
{
"name":"model"
},
{
"name":"vehicles"
},
{
"name":"year"
}
]
J'ai essayé d'utiliser:
item.name
item[i].name
Aucune suggestion?
Merci!
Vous devez analyser la chaîne en JSON (data[0] == "["
est une indication que data
est en fait une chaîne, pas un objet):
data = $.parseJSON(data);
$.each(data, function(i, item) {
alert(item);
});
vous pouvez également passer de la méthode .get()
à la méthode .getJSON()
, jQuery analysera ensuite la chaîne renvoyée comme data
vers un objet javascript et/ou un tableau que vous pouvez puis référencez comme tout autre objet/tableau javascript.
en utilisant votre code ci-dessus, si vous avez changé .get
en .getJSON
, vous devriez recevoir une alerte de [object Object]
pour chaque élément du tableau. Si vous avez changé l'alerte en alert(item.name)
vous obtiendrez les noms.
Je ne pense pas que vous retourniez un objet json du serveur. juste une chaîne.
vous avez besoin que le type de données de l'objet de retour soit json