Ajax XMLHTTPREQUEST

Ajax XMLHTTPREQUEST - HTML/CSS - Programmation

Marsh Posté le 01-03-2007 à 10:17:30    

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 :
  1. function getXMLHTTP()
  2. {
  3. var xhr = null;
  4. if (window.XMLHttpRequest) // Firefox et autres
  5. {
  6.  xhr = new XMLHttpRequest();
  7. }
  8. else if (window.ActiveXObject) // Internet Explorer
  9. {
  10.  try
  11.  {
  12.   xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  13.  }
  14.  catch (e)
  15.  {
  16.   try
  17.   {
  18.    xhr = new ActiveXObject("Msxml2.XMLHTTP" );
  19.   }
  20.   catch (e1)
  21.   {
  22.    xhr = null;
  23.   }
  24.     }
  25. }
  26. else // XMLHttpRequest non supporté par le navigateur
  27.  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  28. return xhr;
  29. }


et je recupere la fonction comme ceci :
 

Code :
  1. if (_xmlHttp && _xmlHttp.readyState != 0)
  2.  _xmlHttp.abort();
  3. _xmlHttp = getXMLHTTP();
  4. if (_xmlHttp)
  5. {
  6.  //appel à l'url distante
  7.  _xmlHttp.open("GET", url, true);
  8.  _xmlHttp.onreadystatechange = function() // Marche pas sous IE
  9.  {
  10.   if (_xmlHttp.readyState == 4 && _xmlHttp.responseXML)
  11.   {
  12.    var liste = traiteXmlSuggestions(_xmlHttp.responseXML);
  13.    var id_liste = idfilmsListe;
  14.    cacheResults(valeur, liste, id_liste);
  15.          metsEnPlace(valeur, liste, id_liste);
  16.   }
  17.  };
  18.  // envoi de la requete
  19.  _xmlHttp.send(null);
  20. }


 
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 :
  1. <?xml version="1.0" encoding="ISO-8859-15"?>
  2. <films xmlns="http://www.w3.org/TR/xhtml1/strict">
  3. <film id="CO284853" titre="10 Canoës, 150 lances et 3 épouses"/>
  4. <film id="CO278917" titre="12 h 08 à l'est de Bucarest"/>
  5. ...
  6. </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:


Message édité par krovomi le 01-03-2007 à 11:38:28
Reply

Marsh Posté le 01-03-2007 à 10:17:30   

Reply

Marsh Posté le 01-03-2007 à 11:38:39    

Toujours personne ?

Reply

Marsh Posté le 01-03-2007 à 13:00:30    

Up svp

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed