Salut à toutes et à tous.
Après moultes recherches, une bonne centaines de liens Google testé, et plusieurs heures de prise de tête... j'abdique, j'en appelle à vos connaissances
Le problème est le suivant :
J'utilise AJAX pour envoyer une requête à un fichier PHP (jusque là, rien d'anormal). Ce fichier PHP me renvoit un document XML (rien d'anormal non plus), le content-type est bien envoyé, le XML est, il me semble, bien conforme... et tout cela fonctionne à merveille... sous Gecko !
En effet, sous IE, et Opéra (qui a tendance a suivre IE je trouve
), ça ne fonctionne pas. Au lieu d'accèder au contenu j'ai un coup un "objet recquis", un autre un "null"... Bref c'est la galère >_<
Et je m'en veux un peu par moment d'avoir laché la méthode responseText
Voici le code PHP :
Maintenant, le traitement en JS :
Info : loadNode est le noeud d'affichage HTML de la réponse ajax sur ma page. Mais on peut très bien remplacer "loadNode.innerHTML" par "window.alert", ça ne changera rien...
Merci d'avance à toutes celles et tous ceux qui participeront
Après moultes recherches, une bonne centaines de liens Google testé, et plusieurs heures de prise de tête... j'abdique, j'en appelle à vos connaissances

Le problème est le suivant :
J'utilise AJAX pour envoyer une requête à un fichier PHP (jusque là, rien d'anormal). Ce fichier PHP me renvoit un document XML (rien d'anormal non plus), le content-type est bien envoyé, le XML est, il me semble, bien conforme... et tout cela fonctionne à merveille... sous Gecko !
En effet, sous IE, et Opéra (qui a tendance a suivre IE je trouve

Et je m'en veux un peu par moment d'avoir laché la méthode responseText

Voici le code PHP :
Code:
header("Content-Type: text/xml; charset=ISO-8859-1;");
echo '<?xml version="1.0" ?><document><error>1</error><message>Error : missing data</message></document>';
Maintenant, le traitement en JS :
Code:
http.onreadystatechange = function()
{
if(http.readyState == 4)
{
if(http.status == 200)
{
if(http.responseXML) {
window.alert( http.responseXML);
var xmldoc = http.responseXML.documentElement;
loadNode.innerHTML = xmldoc.getElementsByTagName("message")[0].firstChild.data;
}
}
else
{
loadNode.innerHTML = "<span style='color:red;' ><strong>Erreur </strong>: <i>" + http.statusText + "</i>";
}
}
};
Merci d'avance à toutes celles et tous ceux qui participeront
