Bonjour,
Je travails depuis un petite heure sur un script basique d’AJAX, servant simplement à appelé une page toutes les 5 secondes dans un cadre précis. Le script marche niquel sous FF, mais sous IE ca déconne :s !
Le problème est en faite que IE dès qu’il ne voit pas le code ajax changer, affiche la page comme elle était la dernière fois, alors que celle-ci à très bien pu changer en cours de temps.
Dès que je vide le cache, il va bien charger la page comme elle est actuellement, mais sinon il charge par défaut la page qu’il doit donc avoir en cache.
Si Ajax modifie sa requete, et donc que l’url à afficher dans mon cadre est différente (vu que je passe les paramètres en GET dans l’url), là il va bien charger la page courante.
Si je résume mes scripts en retirant mes fonctions qui n’intervienne pas directement, ou du moins que je pense ça fait a peu près comme ceci :
Mon code Ajax :
function Requete(formulaire, action)
{
var xhr_object = null;
if (window.XMLHttpRequest) {
xhr_object = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Erreur : utilisez Firefox ou Internet Explorer");
return;
}
switch (action) {
case 0:
xhr_object.open("GET", 'mapage.php', true); // Afficher
break;
case 1:
xhr_object.open("GET", 'mapage.php?titre='+formulaire.titre.value, true); // Mettre à jour
break;
}
xhr_object.onreadystatechange = function()
{
if (xhr_object.readyState == 4) {
var tempobj = document.all ? document.all.zone : document.getElementById("zone");
tempobj.innerHTML=xhr_object.responseText;
}
}
xhr_object.send(null);
}
function reserverRequete()
{
if(document.post.titre.value != '')
{Requete(document.post, 1);}
else if(document.post.titre.value == '')
{Requete(document.post, 0);}
}
setInterval("reserverRequete()", 5000);
Mon code xHtml :
<form method="POST" action="" name="post">
<input type="text" name="titre" value="" />
</form>
Mon ancienne mapage.php (ce qu’affiche IE par défaut) :
<?php
echo 'hey1';
?>
Ma nouvelle mapage.php (ce qu’affiche IE seuelment après modification de l’url) :
<?php
echo 'hey2';
?>
Merci de bien vouloir m’aider, pour ce qui est du code Ajax, je connais pas le Ajax on me l’a simplement donné, je sais pas s’il est complet et compatible.