Bonjour,
voilà, je vous expose mon problème. Avec une requête XmlHttpRequest, je cherche à récupérer un fichier xml genre :
fichier.xml
donc dans mon code JavaScript je mets :
Le code de processAction est le suivant :
et enfin, le code de treatAction pour tester le contenu de xhr.responseXML:
Donc quand je lance ça, ça m'affiche "0" alors que ça ne devrait pas puisque le fichier XML a une racine. Si j'adapte le tout à la sauce Firefox avec un "xhr = new XMLHttpRequest()", ça fonctionne impeccablement bien.
Ainsi, à priori, sous Internet Explorer xhr.responseXML est totalement vide alors que sous Firefox ça fonctionne... Cependant, sous Firefox il faut rajouter un petit bout de code pour dire que la réponse est un document xml :
Donc je n'arrive pas à récupérer mon fichier xml en retour et ça m'énerve. J'ai eu beau regarder sur le net, mais je n'ai pas trouvé de solution. Une serait de récupérer de xhr.responseText (il fonctionne lui par contre sous IE, il n'est pas vide et contient bien tout le fichier xml
) et de créer un document DOM avec mais je ne sais pas trop comment faire.
Je vous remercie de votre aide.
Cordialement,
Flavien
Modifié par Flavien (28 Apr 2006 - 13:27)
voilà, je vous expose mon problème. Avec une requête XmlHttpRequest, je cherche à récupérer un fichier xml genre :
fichier.xml
<?xml version="1.0" standalone="yes" ?>
<racine>
<machins>
<machin>truc</machin>
<machin>chouette</machin>
</machins>
</racine>
donc dans mon code JavaScript je mets :
xhr = new ActiveXObject("Microsoft.XMLHTTP");
xhr.onreadystatechange = processAction;
xhr.open("GET", "fichier.xml", true);
xhr.send(null);
Le code de processAction est le suivant :
function processAction() {
if (xhr.readyState == 4) {
if (xhr.status == 200 || xhr.status == 0) {
treatAction(xhr.responseXML);
}
}
}
et enfin, le code de treatAction pour tester le contenu de xhr.responseXML:
function treatAction(responseXML) {
alert(responseXML.childNodes.length);
}
Donc quand je lance ça, ça m'affiche "0" alors que ça ne devrait pas puisque le fichier XML a une racine. Si j'adapte le tout à la sauce Firefox avec un "xhr = new XMLHttpRequest()", ça fonctionne impeccablement bien.
Ainsi, à priori, sous Internet Explorer xhr.responseXML est totalement vide alors que sous Firefox ça fonctionne... Cependant, sous Firefox il faut rajouter un petit bout de code pour dire que la réponse est un document xml :
xhr.overrideMimeType("text/xml");
Donc je n'arrive pas à récupérer mon fichier xml en retour et ça m'énerve. J'ai eu beau regarder sur le net, mais je n'ai pas trouvé de solution. Une serait de récupérer de xhr.responseText (il fonctionne lui par contre sous IE, il n'est pas vide et contient bien tout le fichier xml

Je vous remercie de votre aide.
Cordialement,
Flavien
Modifié par Flavien (28 Apr 2006 - 13:27)