0 votes

décodage d'un tableau JSON (depuis PHP) en Javascript (jQuery)

J'écris d'abord le JSON :

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
print json_encode(array(
    "array" => $arr
));

Ensuite, dans jQuery, je le fais :

j.post("notifications.php", {}, function(data){

C'est là que je suis un peu perdu, comme je le ferais normalement :

data.array

pour obtenir les données, mais je ne sais pas comment gérer le tableau. data.array[1] n'a pas fonctionné.

Gracias.

2voto

Peter Bailey Points 62125

Les tableaux associatifs de PHP deviennent des objets (hachages) en javascript.

data.array.a === 1
data.array.b === 2
// etc

Si vous voulez énumérer ces valeurs

for ( var p in data.array )
{
  if ( data.array.hasOwnProperty( p ) )
  {
    alert( p + ' = ' + data.array[p] );
  }
}

0voto

Felix Kling Points 247451

@Peter a déjà expliqué que les tableaux associatifs sont encodés comme des objets JSON en PHP.

Vous pouvez donc également modifier votre tableau PHP en :

$arr = array(1,2,3,4,5); // or array('a', 'b', 'c', 'd', 'e');

Cependant, un autre point important est de s'assurer que jQuery reconnaît la réponse du serveur en tant que JSON et non en tant que texte. Pour cela, passez un quatrième paramètre à la fonction post() fonction :

j.post("notifications.php", {}, function(data){...}, 'json');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X