2010-05-07 10 views
1

Je suis en train de retourner un tableau associatif php javascript tableau par ajaxRequest.responseTextretourner un tableau associatif php javascript tableau

Voici ce que je fais.

d'abord en php, je fais ceci:

$encoded = json_encode($thisarray); 
echo $encoded; 

Si je fais l'écho codé $, je reçois { "a": "pomme, flèche", "b": "garçon, banque", "c ":" chat, camp "}

ensuite dans le script js,

thisarray = new Array(); 
thisarray = ajaxRequest.responseText; 

Si j'alerter thisarray, je reçois {" a ":" pomme, flèche " "b":" garçon, banque "," c ":" chat, camp "}

C'est faux parce que l'alerte d'un tableau devrait donner une erreur. Mais dans ce cas, quand j'alerte thisarray, j'obtiens le tableau complet !! Inutile de dire que je ne peux pas appeler ma valeur hors de thisarray, puisqu'il est encore défini comme un tableau. Quelqu'un peut me dire ce qui me manque ici?

Répondre

3

Vous devez analyser la chaîne JSON en JavaScript pour obtenir un objet, de préférence avec l'objet natif JSON de votre navigateur, le cas échéant:

var thisarray = JSON.parse(ajaxRequest.responseText); 

Sinon, vous pouvez utiliser le JSON parser from JSON.org ou jQuery.parseJSON si vous êtes utilise déjà jQuery.

+0

Merci! Em ... objet JSON natif .... qui apporte une autre préoccupation. JSON.parse traverse-t-il le navigateur? –

+0

Vous avez la réponse ici: http://stackoverflow.com/questions/891299/browser-native-json-support-window-json –

+0

On dirait qu'il ne supporte que les dernières versions. Existe-t-il d'autres solutions pouvant être utilisées pour les navigateurs bas de gamme? –

Questions connexes