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

JavaScript Discussion :

[AJAX] Retrouver xml envoyé du client au serveur (via méthode POST)


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [AJAX] Retrouver xml envoyé du client au serveur (via méthode POST)
    Bonjour,

    j'ai une page web qui récupère du xml et le stocke dans une xml data island.
    ce xml est ensuite modifié à l'aide du DOM et peut être renvoyé vers le serveur pour le stocker dans une base de données xml.

    Pour la réception du xml sur le client et la modification, je n'ai pas de prob. Mais quand je veux le renvoyer vers le serveur avec la methode POST, je n'arrive pas à récupérer ce xml.

    var_dump($_POST) me donne array(0) {}


    javascript sur client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    function save_xml()
    {
                    var url = "/vocabulaire/bin/update_xml.php"
                    createRequest(); //create XMLHttpRequest object
                    request.open("POST", url, true);
                    request.onreadystatechange = save_xml_return;
     
                    request.send("xmlcontent=" + document.getElementById('xml').innerHTML);
    }
     
    function save_xml_return() {
       if (request.readyState == 4)
       {
           if (request.status == 200)
           {
                    alert("SAVED");
                    alert(request.responseText);
           }
       }
       return false;
    }
    update_xml.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
            print var_dump($_POST);
    ?>

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Il faut que tu echappes ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.send("xmlcontent=" + escape(document.getElementById('xml').innerHTML));
    Il faut aussi que tu dises au serveur comment interpreter ta requete (le faite de dire POST ne suffit pas) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    request.setRequestHeader("Content-Type", 
       "application/x-www-form-urlencoded; charset=UTF-8");

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci, ça résoud bien le problème.

    ==> Résolu

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    j'ai répondu un peu trop vite.

    Je recoit bien le xml dans la variable $_POST['xmlcontent'] mais avec des \ ajoutés et un affichage incorrect des accents.

    Pour récupérer le xml il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    utf8_encode(stripslashes($_POST['xmlcontent']))

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer des fichiers du serveur vers plusieurs postes
    Par alucia dans le forum Windows Communication Foundation
    Réponses: 7
    Dernier message: 31/08/2012, 17h30
  2. [Socket] Envoyer données client vers serveur et inversement
    Par Ryuuzaki92 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 31/10/2011, 14h39
  3. client c#, serveur servlet, methode POST
    Par Vld44 dans le forum C#
    Réponses: 1
    Dernier message: 08/07/2009, 12h59
  4. Réception et diffusion xml via méthode Post
    Par hegros dans le forum Modules
    Réponses: 2
    Dernier message: 31/07/2006, 22h42
  5. Transfert de fichier Client vers Serveur via INDY erreur ?
    Par bzh56 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 20/03/2006, 11h34

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