Bonjour

le code que je vous présente est tiré de deux tutorial ajax sur dev.com
index.php
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
<?xml version="1.0" encoding="UTF-8"?> 
<!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>
		<title>Galerie Photos</title>
		<script type="text/javascript" src="js/xhr.js"></script>
		<script type="text/javascript" src="js/loadXML.js"></script>
		<script type="text/javascript">
			loadXML() ;
		</script>
		</script>		
	</head>
	<body>
		<div id="content"><div>
	</body>
</html>
xhr.js :
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
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 ;
}
loadXML.js :
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
function loadXML() {
	xhr = getXHR() ;	
	var url = "js/dvd.xml";		
	xhr.onreadystatechange = handleHttpResponse;
	xhr.open("POST", url, true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send();
}
 
function handleHttpResponse() {
	if(xhr.readyState == 4 && xhr.status == 200) {
        response     = xhr.responseXML;
		var items    = response.getElementsByTagName("item");
		var html     = ''; 
		count        = items.length;
		for(i = 0; i < count; i++) { 
			alert(i);
			html += '<div class="item">';
			html += '<h1>' + items[i].getElementsByTagName("title")[0].firstChild.nodeValue + '</h1>';
			html += '<div class="author">R&eacute;alisateur : ';
			html += items[i].getElementsByTagName("director")[0].firstChild.nodeValue + '</div>';
			html += '<div class="price">Prix : ';
			html += items[i].getElementsByTagName("price")[0].firstChild.nodeValue + ' €</div>';
			html += '</div>';
		}
		document.getElementById('content').innerHTML += html;		
    }
}
dvd.xml :
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
<?xml version="1.0" encoding="utf-8"?>
<dvd>    
    <item>
        <title>Princesse Mononoké</title>
        <director>Hayao Miyazaki</director>
        <price>14,99</price>
    </item>
    <item>
        <title>Mon voisin Totoro</title>
        <director>Hayao Miyazaki</director>
        <price>19,99</price>
    </item>
    <item>
        <title>Blood, The Last Vampire</title>
        <director>Hiroyuki Kitakubo</director>
        <price>11,99</price>
    </item>
</dvd>
Le code ci-dessus (qui affiche le contenu du fichier XML dans la page) fonctionne correctement sous FF (3.5.2) mais aucunement sous IE (8.0).

quelqu'un aurait une idée ?

J'ai lu sur le net que pour IE il fallait modifier le header de la page et forcer la page à ne rien mettre en cache mais cela ne fonctionne pas

D'avance merci

Nicolas