Bonjour,
J'ai un probleme concernant le XMLHttpRequest, je m'explique :
Sous Firefox, tout marche niquel, mais sous IE6 et IE7 cela ne marche pas du tout, et de plus sous les 2 versions d'IE, le problème semble différé.
En effet, je verifie ce dernier à l'aide de cette fonction :
Code :
- function getXMLHTTP()
- {
- var xhr = null;
- if (window.XMLHttpRequest) // Firefox et autres
- {
- xhr = new XMLHttpRequest();
- }
- else if (window.ActiveXObject) // Internet Explorer
- {
- try
- {
- xhr = new ActiveXObject("Microsoft.XMLHTTP" );
- }
- catch (e)
- {
- try
- {
- xhr = new ActiveXObject("Msxml2.XMLHTTP" );
- }
- catch (e1)
- {
- xhr = null;
- }
- }
- }
- else // XMLHttpRequest non supporté par le navigateur
- alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
- return xhr;
- }
|
et je recupere la fonction comme ceci :
Code :
- if (_xmlHttp && _xmlHttp.readyState != 0)
- _xmlHttp.abort();
- _xmlHttp = getXMLHTTP();
- if (_xmlHttp)
- {
- //appel à l'url distante
- _xmlHttp.open("GET", url, true);
- _xmlHttp.onreadystatechange = function() // Marche pas sous IE
- {
- if (_xmlHttp.readyState == 4 && _xmlHttp.responseXML)
- {
- var liste = traiteXmlSuggestions(_xmlHttp.responseXML);
- var id_liste = idfilmsListe;
- cacheResults(valeur, liste, id_liste);
- metsEnPlace(valeur, liste, id_liste);
- }
- };
- // envoi de la requete
- _xmlHttp.send(null);
- }
|
Le problème est que sous IE7, il n'aime pas le" _xmlHttp.onreadystatechange = function()", il me met comme erreur "code 0, accès refusé".
sous IE6, il passe sans probleme cette ligne, mais par la suite du code il n'aime pas l'attribut "getElementsByTagName" (qui apparement ne marche que sous FF), mais comme je parse un fichier XML, je ne vois pas comment appeller autrement pour que cela marche.
Mon fichier XML se presente comme ca :
Code :
- <?xml version="1.0" encoding="ISO-8859-15"?>
- <films xmlns="http://www.w3.org/TR/xhtml1/strict">
- <film id="CO284853" titre="10 Canoës, 150 lances et 3 épouses"/>
- <film id="CO278917" titre="12 h 08 à l'est de Bucarest"/>
- ...
- </films>
|
Quelqu'un saurait pourquoi ?
P.S : J'ai essayé de specifier le type mime mais cela ne marche pas.
De plus sous IE7, d'apres ce que j'ai compris, apparement, les ActiveX ne sont plus d'actualité, donc il se sert de "xhr = new XMLHttpRequest();"
Merci ![:hello: :hello:](https://forum-images.hardware.fr/icones/smilies/hello.gif)
Message édité par krovomi le 01-03-2007 à 11:38:28