jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

Le problème de ce sujet a été résolu
Offre d'emploi : Développeur Web PHP/Drupal (H/F)
| Page 1 | |||||
| Auteur | Message | ||||
|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |||||
| Page 1 | |||||
Elvinz
|
# Posté le 08/02/2012 à 10:49:53 | ||||
![]()
Études : BTS IRIS |
Alors voilà après de longues heures de recherche, j'ai un certain soucis avec ma page php générant une trame JSON. L'erreur vient à 100% de celle-ci, qui doit encoder la trame au format JSON. La trame a plutôt l'air de bien s'encoder mais IMPOSSIBLE de l'utiliser par la suite. Je vous donne les éléments:
Code : PHP
On a en résultat en l'exécutant: {"tableauElectrique":[{"name":"Arret_Urgence","value":"0"},{"name":"EAlimControleTelescope","value":"1"},{"name":"EAlimFlatField","value":"1"},{"name":"EAlimPrise1","value":"0"},{"name":"ELumiereTelescope","value":"0"},{"name":"FDC_F","value":"1"},{"name":"FDC_O","value":"0"},{"name":"LightDetector","value":"0"},{"name":"Pluie","value":"1"},{"name":"R_Climatisation_1","value":"0"},{"name":"RainRate","value":"0"},{"name":"Variateur_Toit","value":"0"}]} Voilà si vous avez la moindre idée de la où pourrait se trouver l'erreur qui m'empêche d'avancer je vous serai grandement reconnaissant xD ! Merci |
||||
| Publicité | # Posté le 08/02/2012 à 10:49:53 | ||||
|
|
|||||
christouphe
|
# Posté le 08/02/2012 à 10:53:23 | ||||
![]()
Études : Université Paul Sabatier Toulouse |
$output = $json->decode($value); ???
Une fois que vous éliminez l'impossible, peu importe si ce qui reste est improbable, ce devrait être la vérité. "Tracker addict ", La POO en PHP, il n'y a que ça de vrai La solution à vos problèmes en PHP - Un objet peut-il être en session ? - Comment utiliser correctement les dates dans un programme ? - /!\ A LIRE SI VOUS UTILISEZ PDO /!\ |
||||
Elvinz
|
# Posté le 08/02/2012 à 10:57:14 | ||||
![]()
Études : BTS IRIS |
$output = $json->encode($value);
|
||||
christouphe
|
# Posté le 08/02/2012 à 11:44:25 | ||||
![]()
Études : Université Paul Sabatier Toulouse |
encode == encoder vers JSON
decode == décoder vers affichage / tableau... LA DOC JSON/PHP Code : PHP
Résultat: Code : HTML
Édité
le 08/02/2012 à 11:47:35
par christouphe
Une fois que vous éliminez l'impossible, peu importe si ce qui reste est improbable, ce devrait être la vérité. "Tracker addict ", La POO en PHP, il n'y a que ça de vrai La solution à vos problèmes en PHP - Un objet peut-il être en session ? - Comment utiliser correctement les dates dans un programme ? - /!\ A LIRE SI VOUS UTILISEZ PDO /!\ |
||||
Elvinz
|
# Posté le 08/02/2012 à 13:04:44 | ||||
![]()
Études : BTS IRIS |
Non en fait je dois l'encoder en JSON car je le décode ensuite dans un javascript
|
||||
christouphe
|
# Posté le 08/02/2012 à 13:09:22 | ||||
![]()
Études : Université Paul Sabatier Toulouse |
le principe est le même avec les fonctions JS, je ne vois pas où est ton problème en fait.
Une fois que vous éliminez l'impossible, peu importe si ce qui reste est improbable, ce devrait être la vérité. "Tracker addict ", La POO en PHP, il n'y a que ça de vrai La solution à vos problèmes en PHP - Un objet peut-il être en session ? - Comment utiliser correctement les dates dans un programme ? - /!\ A LIRE SI VOUS UTILISEZ PDO /!\ |
||||
Lord Casque Noir
|
# Posté le 08/02/2012 à 13:14:11 | ||||
![]()
|
Le json a l'air bon...
- Pourquoi le capitalisme est-il au bord du gouffre ? - Parce qu’il regarde le communisme qui est au fond. Wizard book (web) / Optimise ton apache php mysql / C++ FQA Lite / template<> / The Man / delete new[] / Hardware / PIC16F / eventlet / lxml / Économie / Politique / empêcher le clic droit sur les images / goto linus<linus> / output buffering |
||||
artragis
|
# Posté le 08/02/2012 à 13:15:02 | ||||
|
Études : ISEN Lille |
oui ton code tel que tu le donne ne pose pas de problème, dire "ça ne marche pas" ne nous aide pas à comprendre ce qu'il se passe.
HTML/CSS : llllllllllllllllllll 100% PHP/MVC : llllllllllllllllllll 100%(pour les tutos) PHP lover, saviez vous qu'on peut créer un système de VoIP avec PHP? mon blog : http://francoisdambrine.o-n.fr |
||||
Elvinz
|
# Posté le 08/02/2012 à 14:30:12 | ||||
![]()
Études : BTS IRIS |
Voila mon code coté javascript pour le moment:
Code : JavaScript
Je lance ce javascript via une page HTML standard et quand je la débug avec Firefox j'obtiens un message d'erreur du type: [14:28:45,103] missing ) in parenthetical @ http://localhost/telescope/tabElecCom.js:47 La ligne 47 correspondant au bout de code: Code : JavaScript
Édité
le 08/02/2012 à 14:31:11
par Elvinz
|
||||
Tracker
|
# Posté le 08/02/2012 à 14:58:43 | ||||
![]()
Études : Université de Lyon |
A priori en php tu renvoies une structure genre:
{ tableauElectrique : [ { value : ... }, ... ] Et en javacript tu essaies d'accéder à { tableau : [ { value : ... }, ... ] T. Un peu de lecture: PHP // MySQL // JavaScript // SQL Cherche Job en télétravail ou près de Lorient (56) |
||||
artragis
|
# Posté le 08/02/2012 à 15:53:42 | ||||
|
Études : ISEN Lille |
je me demande juste à quoi sert "eval" alors que Json.parse(variable) fonctionnerait parfaitement.
HTML/CSS : llllllllllllllllllll 100% PHP/MVC : llllllllllllllllllll 100%(pour les tutos) PHP lover, saviez vous qu'on peut créer un système de VoIP avec PHP? mon blog : http://francoisdambrine.o-n.fr |
||||
Elvinz
|
# Posté le 08/02/2012 à 17:46:28 | ||||
![]()
Études : BTS IRIS |
JSON.parse ne change rien j'ai déjà essayé :(.
J'avais pris eval car c'était la solution adoptée par le précédent groupe de projet. @Tracker: je viens de faire la modification qui en effet pouvait poser problème. Mais toujours ce "missing ) in parenthetical"
Édité
le 08/02/2012 à 17:54:13
par Elvinz
|
||||
artragis
|
# Posté le 08/02/2012 à 18:24:27 | ||||
|
Études : ISEN Lille |
quelle erreur d'envoie JSON.parse?
HTML/CSS : llllllllllllllllllll 100% PHP/MVC : llllllllllllllllllll 100%(pour les tutos) PHP lover, saviez vous qu'on peut créer un système de VoIP avec PHP? mon blog : http://francoisdambrine.o-n.fr |
||||
Elvinz
|
# Posté le 08/02/2012 à 18:29:53 | ||||
![]()
Études : BTS IRIS |
[18:29:37,435] JSON.parse: unexpected character @ http://localhost/telescope/tabElecCom.js:41
Donc l'erreur elle vient obligatoirement de mon encodage en JSON de ma trame dans ma page PHP
Édité
le 08/02/2012 à 18:31:20
par Elvinz
|
||||
artragis
|
# Posté le 08/02/2012 à 18:32:06 | ||||
|
Études : ISEN Lille |
il te dit quel caractère est "unexpected"?
HTML/CSS : llllllllllllllllllll 100% PHP/MVC : llllllllllllllllllll 100%(pour les tutos) PHP lover, saviez vous qu'on peut créer un système de VoIP avec PHP? mon blog : http://francoisdambrine.o-n.fr |
||||
Elvinz
|
# Posté le 08/02/2012 à 18:33:42 | ||||
![]()
Études : BTS IRIS |
Me dit pas ce satané debugger de firefox
|
||||
artragis
|
# Posté le 08/02/2012 à 18:36:16 | ||||
|
Études : ISEN Lille |
et si tu enlèves la ligne (inutile de toute façon) :var stringReponse = String(xhr.responseText);
xhr.responseText est toujours un string. et si firefox ne te dit pas, regarde avec chrome ou IE9. HTML/CSS : llllllllllllllllllll 100% PHP/MVC : llllllllllllllllllll 100%(pour les tutos) PHP lover, saviez vous qu'on peut créer un système de VoIP avec PHP? mon blog : http://francoisdambrine.o-n.fr |
||||
Elvinz
|
# Posté le 08/02/2012 à 18:39:54 | ||||
![]()
Études : BTS IRIS |
Uncaught SyntaxError: Unexpected token <
xhr.onreadystatechange |
||||
artragis
|
# Posté le 08/02/2012 à 18:45:59 | ||||
|
Études : ISEN Lille |
??? tu as dû faire une faute de frappe
sinon j'ai trouvé ce que tu peux faire pour que ça marche : var monObjet=JSON.parse(JSON.stringify(xhr.responseText));. La chaîne envoyée par php était très bonne. HTML/CSS : llllllllllllllllllll 100% PHP/MVC : llllllllllllllllllll 100%(pour les tutos) PHP lover, saviez vous qu'on peut créer un système de VoIP avec PHP? mon blog : http://francoisdambrine.o-n.fr |
||||
Elvinz
|
# Posté le 08/02/2012 à 19:59:07 | ||||
![]()
Études : BTS IRIS |
CA MARCHE ! POUAAAAAAAAAAAAA ! Tu peux m'expliquer ta ligne stp
MERCI MERCI MERCI !
|
||||
artragis
|
# Posté le 08/02/2012 à 20:01:34 | ||||
|
Études : ISEN Lille |
Apparemment il faut que la chaîne JSON soient entourée de guillemets ou je ne sais trop quoi. en faisant Stringify() tu mets tout ce qu'il faut pour que ta chaîne JSON soit compréhensible
ensuite parse transforme tout ça en objet. HTML/CSS : llllllllllllllllllll 100% PHP/MVC : llllllllllllllllllll 100%(pour les tutos) PHP lover, saviez vous qu'on peut créer un système de VoIP avec PHP? mon blog : http://francoisdambrine.o-n.fr |
||||
Elvinz
|
# Posté le 08/02/2012 à 20:04:01 | ||||
![]()
Études : BTS IRIS |
Merci encore
|
||||
Tracker
|
# Posté le 08/02/2012 à 20:06:24 | ||||
![]()
Études : Université de Lyon |
Elvinz, au lieu de te galérer utilise Zend_Server_Json ...
T. Un peu de lecture: PHP // MySQL // JavaScript // SQL Cherche Job en télétravail ou près de Lorient (56) |
||||
Elvinz
|
# Posté le 19/02/2012 à 20:55:15 | ||||
![]()
Études : BTS IRIS |
Petit up qui pourrait servir aux autres pouvant avoir le même problème que moi dans le futur ou pour les curieux, en fin de compte je me suis remis au simple
Code : JavaScript
l'erreur venait du fait que j'avais une entête d'information dans mon fichier PHP dans lequel est fait l'encodage au format JSON du style Code : PHP
Problème solved ! |
||||
Retour au forum "PHP" ou à la liste des forums
