Problème de XMLHttpRequest sous IE

Rado
Invité n'ayant pas de compte PHPfrance

30 janv. 2007, 14:10

Bonjour à tous,
Voici le code que j'utilise pour récupérer un objet xmlhttprequest :

Code : Tout sélectionner

function getXmlHttpRequest(){ var xhr = false; if( window.XMLHttpRequest ) {// Firefox et autres xhr = new XMLHttpRequest(); alert("Firefox xmlhttp ........ "); } else if(window.ActiveXObject){ // Internet Explorer alert("IE xmlhttp ... "); try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }catch (E) { xhr = false; alert("xhr == false"); } } } } var xhr = getXmlHttpRequest();
edit mere-teresa : cela aurait été sympa de mettre ton code entre balises Code.

Ca fonctionne très bien sous FIREFOX mais ca marche pas avec IE (version IE 6).

J'ai mis les message d'alert pour debogger et à ma grande surprise, sous IE j'ai eu le message "Firefox xmlhttp ........ " donc le test window.XMLHttpRequest répond true.Est-ce normal ???

Mon vrai souci par la suite c'est que quand j'essaie d'accéder aux champs readyState ou status de l'objet xhr IE arrete l'excécution du javascript ...

Merci de votre aide.

Rado
Invité n'ayant pas de compte PHPfrance

30 janv. 2007, 15:24

Dans mon code il y a bien un return xhr;

Mais je l'ai oublié dans mon copier-coller sinon ca ne marcherait pas sous firefox de tte façon ......

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

01 févr. 2007, 16:29

Fais ta déclaration de var xhr en dehors de la fonction, en effet le mot-clef var définit la portée de ta variable, tout en la déclarant. Ici, xhr n'est connu qu'à l'intérieur de ta fonction.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.