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 : Sélectionner tout - Visualiser dans une fenêtre à part
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