|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
Troll Nouveau WRInaute
Inscrit le: 13 Aoû 2007 Messages: 34
|
Posté le : Sam Nov 03, 2007 22:01 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
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 :
| 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>";
}
}
};
|
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 
Dernière édition par Troll le Dim Nov 04, 2007 12:58; édité 1 fois |
|
| |
|
 |
julienr WRInaute passionné

Inscrit le: 05 Aoû 2003 Messages: 645
|
Posté le : Sam Nov 03, 2007 23:43 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
salut,
la réponse serait de dire qu'il faut effectivement préciser à IE l'entete header( 'Content-Type: text/xml; charset=ISO-8859-1' );
maintenant vu que tu l'a précisé, bah ca devrait marcher !
Non vérifie bien, peut être, que dans ton php tu n'es rien après ton ?> (pas d'espace, ni de retour à la ligne) car cela pourrait constituer une erreur d'analyse pour ie et donc un documentElement non défini... |
|
| |
|
 |
Troll Nouveau WRInaute
Inscrit le: 13 Aoû 2007 Messages: 34
|
Posté le : Dim Nov 04, 2007 0:36 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
Non, il n'y a absolument rien après ?> ...
Le pire c'est que ça marche vraiment niquel sous Firefox =/ |
|
| |
|
 |
julienr WRInaute passionné

Inscrit le: 05 Aoû 2003 Messages: 645
|
Posté le : Dim Nov 04, 2007 12:09 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
| quel est ton doctype de ta page ? |
|
| |
|
 |
Troll Nouveau WRInaute
Inscrit le: 13 Aoû 2007 Messages: 34
|
Posté le : Dim Nov 04, 2007 12:11 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
Salut,
| Code: |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
Quel rapport ?  |
|
| |
|
 |
julienr WRInaute passionné

Inscrit le: 05 Aoû 2003 Messages: 645
|
Posté le : Dim Nov 04, 2007 12:20 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
comme çà
toujours pas résolu ?
| Code: |
http.onreadystatechange = function()
{
if(http.readyState == 4)
{
if(http.status == 200)
{
alert( http.responseText );
...
|
t'affiche bien ton xml ? |
|
| |
|
 |
Troll Nouveau WRInaute
Inscrit le: 13 Aoû 2007 Messages: 34
|
Posté le : Dim Nov 04, 2007 12:24 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
| Citation: |
| t'affiche bien ton xml ? |
Absolument, et ce sous FX & IE
Et non toujours pas résolu, sinon j'aurai mis le topic en résolu  |
|
| |
|
 |
julienr WRInaute passionné

Inscrit le: 05 Aoû 2003 Messages: 645
|
Posté le : Dim Nov 04, 2007 12:31 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
essaye ceci peut être :
| Code: |
header("Content-Type: text/xml; charset=ISO-8859-1;");
echo '<?xml version="1.0" ?><document><error>1</error><message>[!CDATA[Error : missing data]]</message></document>'; |
que dit firebug sur les entêtes de ton webservice php ? |
|
| |
|
 |
Troll Nouveau WRInaute
Inscrit le: 13 Aoû 2007 Messages: 34
|
Posté le : Dim Nov 04, 2007 12:33 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
Rien du tout je n'utilise, et ne connais d'ailleurs pas, firebug
Je test en CDATA, mais ça serait surprenant... |
|
| |
|
 |
Troll Nouveau WRInaute
Inscrit le: 13 Aoû 2007 Messages: 34
|
Posté le : Dim Nov 04, 2007 12:36 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
OMFG !
Surprenant... certes, mais en [!CDATA ]] IE reconnait (enfin ?) le XML O_O
edit : Oula.. Je viens d'essayer ensuite, sans le CDATA, et ca marche aussi.. La, y'a un truc louche
(désolé pour le dubble post, mais si j'éditais, pas sûr que ca aurait été vu ) |
|
| |
|
 |
julienr WRInaute passionné

Inscrit le: 05 Aoû 2003 Messages: 645
|
Posté le : Dim Nov 04, 2007 12:41 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
j'ai pas osé, aussi, te demander si tu avais vidé ton cache...  |
|
| |
|
 |
Troll Nouveau WRInaute
Inscrit le: 13 Aoû 2007 Messages: 34
|
Posté le : Dim Nov 04, 2007 12:57 Sujet du message: [Résolu] documentElement vide sous IE ? Firefox tout bon ? |
|
|
Oui nan mais je vide le cache régulièrement mais... Là c'est vraiment énorme comme pouf je sais pas d'où ça c'est résolu  |
|
| |
|
 |
| |
|
|