[AJAX] xmlhttprequest avec IE7
Bonjour,
je suis actuellement entrain de travailler sur le xmlhttprequest mais les nouvelles technologies me bloquent.
En effet, mon script , permettant normalement d'afficher le r�sultat d'une requette dans un <select> d�s le chargement de la page, fonctionne a merveille sous IE6 et sous FF mais apres l'avoir test� sous IE7 bahhhhh -->Ca marche pas :cry:
voici mon code compos� de la fonction d'envoi puis de la fonction de "statechange"
le debut du code consiste au remplissage de la variable data que je n'ai pas affich�.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
//alert(data);
if (window.XMLHttpRequest){ // code for Mozilla, etc.
//Pour des raisons obscures on place le onreadystatechange aprés la méthode send de même que pour les parenthèses.
xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST",page_test,false); //on travail en synchrone !!! N?cessit? d'attendre le résultat du formulaire avant de poursuivre...
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(data);
xmlhttp.onreadystatechange=xmlhttpChange(); //exécuté lors de la réception complete des données
}
// Code for IE
else if (window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
if (xmlhttp){
xmlhttp.onreadystatechange=xmlhttpChange;
xmlhttp.open("POST",page_test,false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(data);
}
}
return test_envoi;
}
function xmlhttpChange(formulaire){
//Fonction qui renvoie le responseText d'une requ?te XMLHttpRquest, affect? au "onreadystatechange"
if (xmlhttp.readyState==4){
if (xmlhttp.status==200){
if (xmlhttp.responseText==false){
//alert("Impossible d'enregistrer les donnees ! Erreur dans le formulaire " + formulaire.toUpperCase() + ".");
test_envoi= false;
} else {
//on renvoi vrai uniquement car la procédure est appellée +eurs fois !
//alert(xmlhttp.responseText);
test_envoi= xmlhttp.responseText;
}
}
}
} |
ce code ne fonctionne donc pas sous ie7
et il le fauuuut donc si quelqu'un pourrait m'�clairer ou modifier ce qui pourrait etre mauvais ce serai trooop sympa.
Cordialement. merci d'avance:D