[AJAX] XmlHttpRequest s'exécute 1 seule fois sous IE
Bonjour,
je suis en train d'apprendre le fonctionnement de XmlHttpRequest et je rencontre un problème sous IE qui n'apparaît pas sous Firefox.
Je déclare 2 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
|
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){
//alert(xhr.responseText);
document.getElementById('test').innerHTML = xhr.responseText;
}
}
xhr.open("GET","update.php",true);
xhr.send(null);
} |
Dans mon code je défini un div :
Code:
<div id="test" width="100%">toto</div>
et un bouton
Code:
<input type="button" value="TEST" onclick="go()" />
Et dans mon script update.php, j'ai juste :
Code:
1 2 3 4
|
<?php
echo "titi";
?> |
Lors d'un premier chargement de la page, le script fonctionne sous IE et Firefox, mais si je change la valeur contenu dans le script php (ex : tutu), alors la mise à jour (en recliquant sur le bouton) ne s'effectue QUE sous Firefox et IE ne veut plus le faire !
Avez vous une méthode pour résoudre ce problème ?
Merci d'avance