Envoyer un fichier xml avec jquery.ajax

Par santo17, il y a 10 ans


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

larube, il y a 10 ans

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, il y a 10 ans

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

santo17, il y a 10 ans

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. ;)