Bonjour,
Je cherche la facon d'indiquer au navigateur qu'il ne doit pas conserver en cache
le resultat d'un appel AJAX d'un script php.
Voici l'exemple du code que j'utilise :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Mon plan de travail</title>
</head>
<script type="text/javascript">
var t
var seconde=0
function initloop()
{
t=setTimeout("ajaxFunction()",1000);
}
function ajaxFunction()
{
var xmlHttp;
seconde=seconde+1;
document.myForm.seconde.value=seconde;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
xmlHttp.open("GET","time.php",true);
xmlHttp.send(null);
t=setTimeout("ajaxFunction()",1000)
}
</script>
<body onload="initloop()">
<form name="myForm">
Seconde: <input type="text"
name="seconde" />
Time: <input type="text" name="time" />
</form>
</body>
</html>
Et le php :
<?php
echo date('d/m/Y h:i:s') ."\n";
?>
Cela fonctionne tres bien sous Firefix 3 (avec le cache desactive) mais pas sous IE.
Ma question est donc, que faudrait-il ajouter au php pour indiquer au navigateur qu'il ne doit
pas conserver les donnees en cache mais bien effectuer l'appel a nouveau ?
J'ai pense a l'instruction header pour envoyer differents pragmas mais cela ne fonctionne a
priori que pour les pages, et pas pour les appels (ce qui est logique).
Merci pour votre aide.Configuration: Windows XP
Firefox 3.0

