Bonjour,
j'ai besoin de votre aide car je galère un peu sur mon code

Ce que je fais

J'essaie d'envoyer des données enregistrées dans un fichier xml à un serveur en utilisant une requête POST avec jquery ajax. Ci dessous, un exemple du fichier xml.

<?xml version="1.0" encoding="UTF-8"?>
<requete>
  <appId>PC</appId>
  <appVersion>3.0</appVersion>
  <Informations>
    <rateId>rate2</rateId>
    <utilisateur>
      <pays>FR</pays>
      <ville>Lyon</ville>
    </utilisateur>
  </Informations> 
</requete> 

Ce que je veux

D'habitude, je fais ceci:

$('#bouton').click(function(e){
e.preventDefault();
  $.post('url_de_traitement',
        {
        variables à envoyer,
        }
});

Mais dans ce cas, puisqu'il s'agit d'un fichier xml et non de variables, comment pourrais-je faire? Merci

3 réponses


santo17
Auteur
Réponse acceptée

Après quelques recherches dans la documentation de jquery, j'ai trouvé ce code (que j'ai commenté pour la compréhension de tous) qui permet d'envoyer des données xml à un serveur:

var xmlDocument = [create xml document]; //Ici on crée le document xml
var xmlRequest = $.ajax({
  url: "page.php", /* url de la page de traitement du serveur */
  processData: false, /* En mettant cette valeur à False, les données xml ne sont pas converties en string */
  data: xmlDocument
});
xmlRequest.done( handleResponse ); /* Ici on reçoit la reponse du serveur après la soumission pour effectuer des traitements en cas de succès ou d'echec */

Merci pour votre aide, et j'espère que cela aidera d'autres personnes. ;)

Tu peux préciser dans les options que tu envoies du xml

$.ajax({
    url: url_de_traitement,
    data: "<requete> ....</requete>", 
    type: 'POST',
    contentType: "text/xml",
    ....
    });
santo17
Auteur

Ok merci @larube, je vais essayer cela et je vous fais un retour. Merci encore