IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Passage de données JSON avec xhrGet ou xhrPost


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut Passage de données JSON avec xhrGet ou xhrPost
    Bonjour,

    J'ai un problème pour faire passer des données JSON avec une requête XHR. Les données JSON sont générées dynamiquement dans un objet avec une fonction qui puis converties en JSON avec la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    json = dojo.toJson(data)
    Je fais ensuite la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    dojo.xhrPost({
    			    url: 'http://localhost/projet/public/index.php/polls/application/save-answers',
    			    content:
    			    {
    					data: json
    			    },
    			    sync: true,
    			    handleAs: "text",
    			    load: function(responseObject,ioargs) {
    				return data;
    			    }
    			});
    Dans firebug dans la partie Reseau > Ma requête > Post, je vois bien les données envoyées en paramètres de la requête:

    Du côté PHP, j'utilise Zend_Json pour decoder (logiquement pas de problème de ce côté, j'ai essayé avec un objet manuellement et ça fonctionne):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       $data = $_POST['data'];
       $phpNative = Zend_Json::decode($data);
       $this->view->idPoll = $phpNative["idPoll"];
    Et voici mon problème: les données retournées pour l'objet responseObject.idPoll est "null". J'ai donc essayé de passer la variable $data en retour et ça me donne:

    {\\\"idPoll\\\":1}"} Je pense donc que le problème vient de ces antislashs et que la fonction Zend_Json::decode() ne fonctionne pas à cause de ça. Mais pourquoi est-ce que j'ai ces antislashs et comment les enlever?

    Merci.

  2. #2
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Salut ,

    Ajouter 2eme argument à la fction toJson:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    json = dojo.toJson(data,true)
    si tu veux le renvoyer on response tu dois enlever les slashs avec stripslashes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $phpNative = json_decode(stripslashes($data),true);

  3. #3
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    La solution proposée par devkaty est elle ok ?
    Le second paramètre de dojo.toJson correspond à l'affichage de la structure (dojo ajoute des tabulation si on passe la valeur true). Cela a-t-il une incidence sur la réception des données par Zend ?

    ERE

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/03/2018, 18h15
  2. [AJAX] Récupération de données JSON avec formulaire
    Par Godot dans le forum jQuery
    Réponses: 0
    Dernier message: 23/04/2014, 19h30
  3. Réponses: 0
    Dernier message: 23/05/2010, 18h09
  4. passage de données d'excel à word avec visual basic
    Par Manu18 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/04/2008, 10h23
  5. Passage de données de table à table avec Access
    Par toto2022 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/10/2007, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo