Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-10-2009 20:28:37

Tavarez
Membre
Lieu: Valenciennes
Date d'inscription: 18-07-2008
Messages: 56

Impossible de decoder des données JSON envoyées par Dojo

Bonjour,

J'ai un problème pour récupérer mes données JSON envoyées par dojo avec le zend. Du côté client la requête ressemble à ceci:

Code:

L'objet en paramètre tel que vu par firebug: data    {"idPoll":1}

dojo.xhrGet({
                url: 'http://localhost/projet/public/index.php/polls/application/save-answers/format/json',
                headers: {"X-Requested-With": "XMLHttpRequest"},
                content:
                {
                    data: json
                },
                sync: true,
                handleAs: "json",
                load: function(responseObject,ioargs){
                return data;
                }
            });

Ensuite dans mon action Zend, je renvoie le paramètre idPoll à ma vue pour voir ce que ça donne:

Code:

public function saveAnswersAction()
    {
        
    if ($this->_request->isXmlHttpRequest()) {
        
        $data = $this->_request->getParam('data');
        $phpNative = Zend_Json::decode($data, Zend_Json::TYPE_ARRAY);
        $this->view->idPoll = $phpNative["idPoll"];
    }
            
    }

Mais dans firebug j'ai le résultat {idPoll:null}. Donc il y a apparemment un problème lors du décodage. J'ai fouillé un peu et si je renvoie $data à la place de $phpNative["idPoll"] à la vue ça m'affiche: des antislashs avant les quotes, je pense que ça vient de là mais je comprend pas pourquoi ces antislashs apparaissent et ne sont pas décodés simplement c'est le principe de JSON après tout!

Quelqu'un aurait une idée?

Merci


Il n'y a qu'en faisant des erreurs qu'on apprend...

Hors ligne

 

#2 17-10-2009 21:35:48

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Impossible de decoder des données JSON envoyées par Dojo

il faudrait savoir ce que tu envois à ton controller
dans data

Hors ligne

 

#3 18-10-2009 00:08:54

Tavarez
Membre
Lieu: Valenciennes
Date d'inscription: 18-07-2008
Messages: 56

Re: Impossible de decoder des données JSON envoyées par Dojo

Oui, je l'avais écrit mais c'était peut être pas clair. Je fais:

Code:

var data = self.poll.toData();
            
var json = dojo.toJson(data);

où ce json est: {"idPoll":1}. Le but étant ensuite d'envoyer d'autres paramètres mais j'en ai déjà assez d'un qui ne marche pas wink.

Merci de t'intéresser à mon problème là je bloque vraiment.

Dernière modification par Tavarez (18-10-2009 00:09:20)


Il n'y a qu'en faisant des erreurs qu'on apprend...

Hors ligne

 

#4 18-10-2009 13:25:04

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Impossible de decoder des données JSON envoyées par Dojo

non ce qu'il faut savoir c'est le texte que reçois Zend dans Data
car c'est ça qu'il ne peut décoder

peut importe comment tu l'y mets
si ton data n'est pas conforme il n'y a qu'en le voyant qu'on peu s'en apercevoir

A+JYT

Hors ligne

 

#5 18-10-2009 13:43:51

Tavarez
Membre
Lieu: Valenciennes
Date d'inscription: 18-07-2008
Messages: 56

Re: Impossible de decoder des données JSON envoyées par Dojo

Lorsque je passe le paramètre $data en sortie ça me donne ça:

{\\\"idPoll\\\":1}"}. C'est certainement ça qui est retourné. Sinon je vois pas de moyen. Si tu en as un je suis preneur


Il n'y a qu'en faisant des erreurs qu'on apprend...

Hors ligne

 

#6 18-10-2009 18:53:59

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Impossible de decoder des données JSON envoyées par Dojo

print_r ($data)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages