Bonjour,

J'ai une application qui appelle différentes pages au clic d'un bouton (onclick) avec la méthode ajax et fonctionne parfaitement bien avec tous les navigateurs excepté internet explorer!
Ce qui est spécial c'est qu'une fois hébergée, l'application fonctionne parfaitement bien sur mon poste avec IE (version IE9), mais ça ne passe pas sur les postes des collègues! (version IE9 et IE10).
J'ai lu différents forum à ce sujet et il est conseillé d'ajouter : header("Cache-Control: no-cache"); au début de chaque page.php appelée par ajax. Mais malheureusement cela ne fonctionne toujours pas.
Si quelqu'un a une idée sur le sujet.

Voici mon script :

Code javascript : 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/**
* Méthode pour sauvegarder les variables et les envoyer à la fonction goOutils()
*/
function fill_input_cache(id, val){
	document.getElementById(id).value = val;
	// alert(id + ' -> ' + val); // pour TEST !
	// on lance la fonction goOutils()
	goOutils();
}
/**
* Méthode qui permet l'utilisation du script sur les différents navigateurs
*/
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;
}
/**
* Méthode qui sera appelée sur le click du bouton au choix 1 (modifie le contenu du choix 2)
*/
function goMateriaux(id_famille){
	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('materiaux').innerHTML = leselect;
		}
	}
	// Ici on va voir comment faire du post
	xhr.open("POST","ajaxMateriaux.php",true);
	// ne pas oublier ça pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// Envoyer
	xhr.send("id_famille="+id_famille);
}
/**
* Méthode qui sera appelée sur le click du bouton au choix 1 (Modifie le contenu du choix 3)
*/
function goCharacter(id_famille){
	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('character').innerHTML = leselect;
		}
	}
	// Ici on va voir comment faire du post
	xhr.open("POST","ajaxCharacter.php",true);
	// ne pas oublier ça pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// Envoyer
	xhr.send("id_famille="+id_famille);
}
/**
* Méthode qui sera appelée sur le click du bouton aux choix 1, 2 et 3 (Requête finale)
*/
function goOutils(){ 
	var xhr = getXhr();
	var id_famille = document.getElementById('choix_id_famille').value;
	var id_matiere = document.getElementById('choix_id_matiere').value;
	var id_tc_simple = document.getElementById('choix_id_tc_simple').value;
	var id_tc_multi = document.getElementById('choix_id_tc_multi').value;
	var nb_levres = document.getElementById('choix_nb_levres').value;
	// alert('id_famille = ' + id_famille + ', id_matiere = ' + id_matiere + ', id_tc_simple = ' + id_tc_simple + ', id_tc_multi = ' + id_tc_multi + ', nb_levres = ' + nb_levres);
	// 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('outils').innerHTML = leselect;
		}
	}
	// Ici on va voir comment faire du post
	xhr.open("POST","ajaxOutils.php",true);
	// ne pas oublier ça pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// Envoyer
	xhr.send("id_famille="+id_famille+"&id_matiere="+id_matiere+"&id_tc_simple="+id_tc_simple+"&id_tc_multi="+id_tc_multi+"&nb_levres="+nb_levres);
}

Merci de votre aide

Cordialement