Bonjour à tous,
Premier post et déjà un problème (je précise que j'ai parcouru le forum et les tuto avant de poster... pas à 100% ça serait trop long mais de façon efficace quand même je pense).
Je suis entrain de créer un script et j'ai un problème avec le retour des données extraites d'un fichier xml.
Voici mon code :
Le fichier existence.php se contente de faire un echo (pour le test en tous cas) :
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 function existence(chemin,fichier,creation){ var xhr=creation_xhr(); if(xhr){ xhr.onreadystatechange=function(){ if(xhr.readyState==4 && xhr.status==200){ var xml=xhr.responseXML; /* Eléments problématiques : */ alert(xml.getElementsByTagName("texte")[0].firstChild.nodeValue); /* N'affiche que dalle */ } } xhr.open("POST","existence.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send("chemin="+chemin+"&fichier="+fichier+"&creation="+creation); } }
La fonction creation_xhr() crée l'objet xhr, et fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $chemin=$_POST["chemin"]; /* Idem $fichier et $creation */ echo "<?xml version=\"1.0\" encoding=\"ISO-8955-15\" ?> <racine> <texte>Le fichier $chemin$fichier a été crée.</texte> </racine>";
Le problème c'est que mon alert n'affiche rien du tout :
- J'ai fait le test en modifiant le responseXML par un responseText et un alert sur l'objet xml retourné ce qui affiche bien le contenu du echo sans erreur.
- J'ai fait le test avec xml.nodeType, ce qui me donne 9, soit un noeud de type document, mais dés que je descend dans l'arborescence plus rien.
- Un getElementsByTagName("texte").length me retourne 0, ce qui n'est pas normal.
Pas mal de tutos traitent de la transmission à l'aide de la méthode GET mais très peu de la méthode POST. Le problème peux t-il venir de là? Quelqu'un aurait une idée? Merci par avance.
Partager