Question

J'ai un fichier php qui affiche le texte codé JSON via

echo '(' . json_encode( $final ) . ')';

Et j'ai un fichier javascript qui va chercher cette page

$.getJSON(file, function(data){
var object = eval(data);
alert(object); //for testing
...

Quand un navigateur autre que Firefox 3.5 visite la page qui appelle .getJSON il alerte null

MAIS !!! Si je prends le texte qui est sorti par le fichier php collez-le dans un nouveau fichier et charger que via .getJSON il fonctionne très bien. Il est seulement quand sa sortie en php qui ne fonctionne pas.

La seule différence que je peux voir est que la longueur du contenu du fichier PHP est 2 plus que l'autre, je ne peux pas comprendre pourquoi.

Merci


UPDATE
J'ai créé un petit tableau pour le tester avec d'autres données et cela fonctionne. Il y a quelque chose dans mes données qui cause le problème. Maintenant à la recherche ...

un appel à array_merge est le coupable.

Était-ce utile?

La solution 2

Je l'ai réduit à un appel à array_merge qui corrompt les données en quelque sorte.

Autres conseils

data est pas une chaîne, il est un objet JSON. Par conséquent, eval ne fonctionnera pas sur elle. Essayez ce qui suit à la place:

$.getJSON(file, function(data){
alert(data); //for testing
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top