Cela fait deux jours que je bloque sur mon code et pourtant je ne vois rien qui cloche...
Le problème qui me surprend le plus, c'est que sous Firefox, le serveur ne répond jamais à ma requête (readyState ne passe jamais à 3) alors que sous IE la réponse passe sans problèmes... Alors que sous IE, je n'arrive pas à accéder au contenu de mes div
Ma version d'IE est la 7 et j'ai Firefox 2.0.0.6

Voici tout d'abord Mon code javascript :
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function getElement(rid) {
         return document.getElementById ? document.getElementById(rid) : document.all(rid) ;
}
function getXmlHTTP () {
         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 @*/
 
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		}
		catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}
function remplis_div(doc,texte) {
         elem2w = getElement('cadre_cible') ;
         /*test = doc.createElement('a') ;
         test.href = 'index.php' ;
         test.textContent = texte ;
         elem2w.appendChild(test) ;*/
         alert(elem2w.textContent) ;
}
function gere_click_lien(id_element) {
         xmlhttp = getXmlHTTP() ;
         if (!xmlhttp) { return ; }
            xmlhttp.open("GET", "operations.php?operation=lien&cible="+escape(id_element) ,true) ;
            xmlhttp.onreadystatechange = function() {
               if (xmlhttp.readyState == 4) {
                  alert("Code html : "+xmlhttp.status) ;
                  remplis_div(document,xmlhttp.responseText) ;
               }
            }
         xmlhttp.send(null);
}
Et maintenant la page html (générée par php) sur laquelle s'applique le script :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="author" content="tsukaniki" />
<meta name="robots" content="none" />
<meta name="refresh" content="900" />
<meta http-equiv="Content-language" content="fr" />
<title>Base de donnée des DVDs</title>
<style type="text/css" title="default">
       div.menu_elt {
             display:inline;
             padding:0 5px;
             margin:0 5px;
             border:0;
       }
</style>
<script type="text/javascript" language="JavaScript1.5" src="scripts.js" charset="ISO-8859-1"></script>
</head>
<body>
<div id="grand_cadre">
 
     <div id="menu">
     <div class="menu_elt"><a href="index.php" id="lien_addfilm" onclick="gere_click_lien('lien_addfilm');">Ajout de film</a></div><div class="menu_elt"><a href="index.php" id="lien_rechrap" onclick="gere_click_lien('lien_rechrap');">Recherche rapide</a></div><div class="menu_elt"><a href="index.php" id="lien_rechav" onclick="gere_click_lien('lien_rechav');">Recherche avancée</a></div><div class="menu_elt"><a href="index.php" id="lien_geneliste" onclick="gere_click_lien('lien_geneliste');">Génération de liste</a></div><div class="menu_elt"><a href="index.php" id="lien_gestprets" onclick="gere_click_lien('lien_gestprets');">Gestion des prêts</a></div><div class="menu_elt"><a href="index.php" id="lien_autresope" onclick="gere_click_lien('lien_autresope');">Autres opérations</a></div>     </div>
 
<div id="cadre_cible"> bla bla bla bla bla et bla</div>
<div id="infos"> </div>
 
</div>
</body>
</html>
Pour ce qui est du contenu du fichier operations.php, le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?php
     header('Content-Type: text/html; charset=ISO-8859-1') ;
     echo 'bla bla' ;
?>
Il contenait beaucoup plus de code avant, mais je l'ai simplifié pour essayer de trouver l'erreur. Je n'ai pas de réponse avec Firefox que j'ai mis ou non header()...

Quelqu'un a-t-il une idée sur pourquoi je n'ai pas de réponse du serveur sous firefox et pourquoi sous IE textContent me retourne undefined ?

Merci d'avance

PS : Petite précision, les tests sont fait en local sur ma machine avec EasyPhp (la dernière version en date).