Marche sous FireFox mais pas sous IE....

Résolu
benjiiim94 Messages postés 96 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 13 juillet 2007 - 31 oct. 2005 à 14:16
benjiiim94 Messages postés 96 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 13 juillet 2007 - 4 nov. 2005 à 11:12
Bonjour,



Je ne comprends pas pourquoi mais ce code marche sous firefox mais pas sous IE, en plus l'erreur me semble bizarre...



Cet objet ne gère pas cette propriété ou cette méthode

A la ligne marqué par trois étoiles en commentaires



Merci beaucoup de votre aide



<html>

<head>

<title>Test XmlHttpRequest</title>

<script type="text/javascript">

<!--/*--><![CDATAgetHTTPObject()

{

var xmlhttp = false;



/* Compilation conditionnelle d'IE */

/*@cc_on

@if (@_jscript_version >= 5)

try

{

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

}

catch (e)

{

try

{

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

catch (E)

{

xmlhttp = false;

}

}

@else

xmlhttp = false;

@end @*/



/* on essaie de créer l'objet si ce n'est pas déjà fait */

/* cas des autres navigateurs comme firefox */

if (!xmlhttp && typeof XMLHttpRequest != 'undefined')

{

try

{

xmlhttp = new XMLHttpRequest();

}

catch (e)

{

xmlhttp = false;

}

}



//on retourne l'objet créé en fonction du navigateur

return xmlhttp;

}



function affich_truc(message)

{

var xmlhttp = getHTTPObject();



if(xmlhttp==false) //***

{


document.getElementById('para').innerHTML="Votre navigateur ne supporte
pas l'objet XmlHttpRequest";

return false; //en retournant
false, on court circuite cette fonction et on peut ainsi proposer une
solution tout php au visiteur qui ne supporte pas XmlHttpRequest

}

else

{

xmlhttp.onreadystatechange = function()

{

if(xmlhttp.readyState == 4)

{


document.getElementById('para').innerHTML =
xmlhttp.responseText;

}

}



xmlhttp.open("POST", "test_php.php", true);

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlhttp.send("message=" + message);

}

}



//--><!
]>

</script>

</head>



<form id="formulaire">



</form>





</html>

7 réponses

benjiiim94 Messages postés 96 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 13 juillet 2007
4 nov. 2005 à 11:12
Ca y est, j'ai trouvé !



L'erreur se passait bien à la ligne du test if(xmlhttp==false)



IE n'aime pas cette syntaxe mais préfère if(xmlhttp) (j'ai pas tester l'inverse if(!xmlhttp) )



Merci quand meme bultez
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
31 oct. 2005 à 15:23
Bonjour,

function getHTTPObject()
{
var x = false;
try {
x = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
x = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
x = new XMLHttpRequest();
}
}
return x;
}

peut-être ?
Cordialement. Bul. ~ Site ~
0
benjiiim94 Messages postés 96 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 13 juillet 2007
31 oct. 2005 à 15:45
nan, meme erreur sur la meme ligne...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
31 oct. 2005 à 15:56
pas moi ? donne une erreur sur le send, mais c'est normal là.
[ alors qu'avec script original ça plantait sur test ]
windows xp + IE 6 pour moi
Cordialement. Bul. ~ Site ~
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benjiiim94 Messages postés 96 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 13 juillet 2007
31 oct. 2005 à 16:21
Arff...

Moi ca ne marche pas non plus avec ta fonction, j'utilise pourtant IE6 et XP mais j'aimerai que mon script marche avec tous le monde (enfin ceux qui comprènent xmlhttprequest)

Mais l'erreur est vraiment bizarre, elle porte sur le i de if(xmlhttp==false)

Une autre suggestion ?
Merci beaucoup
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
31 oct. 2005 à 16:35
une partie de mon message a disparu ?
avec le script original ça plantait chez moi,
au même endroit if(xmlhttp==false)
pas avec le script "modifié"
Cordialement. Bul. ~ Site ~
0
Rejoignez-nous