[AJAX] AJAX Compatibilité IE9
Bonjour,
Je me suis récemment mis à AJAX, j'adore l'outil mais malheureusement
j'ai des soucis de compatibilité. En effet IE9 n'en a rien a faire de mon AJAX,
rien ne se passe alors que sur tout les autres navigateurs ça marche parfaitement (dont IE10).
Voici mes fonctions :
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 40
| function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
function go(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('listeEntreprise').innerHTML = leselect;
verifContenu();
}
}
// Ici on va voir comment faire du post
xhr.open("POST","AJAX/ajax.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
sel = document.getElementById('depList');
iddepartement = sel.options[sel.selectedIndex].value;
xhr.send("depList="+iddepartement);
} |
Sur IE9 je n'ai même pas l'alert qui me dit qu'il ne support pas les objets.
Le code est repris du tuto developper.net, il sert à mettre à jour un tableau à partir d'une liste déroulante. Le problème doit venir du getXhr() ? une ligne a rajouté pour IE9 ?
Merci