2009-08-11 4 views
0

Je crée une page de portail pour un projet et un contenu div est actualisé toutes les 1000 secondes. Le problème que je suis cependant, est que le contenu qui est tiré est toujours mis en cache, si rafraîchissant n'a aucun effet, l'utilisateur doit faire un rafraîchissement dur.Le contenu est mis en cache

Cela se produit uniquement dans Internet Explorer

Voici le code javascript j'ai utilisé pour rafraîchir et charger le div:

var auto_refresh = setInterval(
    function() { 
     $('#news').load('apps/news.php').fadeIn("slow"); 
    }, 1000); 

Et comme vous pouvez le voir, les données sont contenues dans un fichier PHP .

contenu de news.php:

<dl class="news"> 
    <dt>09/01/08</dt> 
    <dd> 
    <a href="#"><img src="/images/news1.jpg" alt="News image 1" /></a> 
    <p><a href="#">Opal network services resume - Bada Bing!</a></p> 
    </dd> 
    <dt>07/01/08</dt> 
    <dd> 
    <a href="#"><img src="/images/news3.jpg" alt="News image 3" /></a> 
    <p><a href="#">Anglia Contemporary Theatre - "Some news-pschitt!"</a></p> 
    </dd> 
    <dt>07/01/08</dt> 
    <dd> 
    <a href="#"><img src="/images/news4.jpg" alt="News image 4" /></a> 
    <p><a href="#">ALSS Faculty Research Seminar - Novel Plots: Narrative in Nineteenth-Century Verbal and Visual Fictions</a></p> 
    </dd> 
    </dl> 

Comment puis-je faire pour la mise en sorte que les données ne sont pas mises en cache?

Merci

Répondre

6

ajouter l'heure actuelle à la requête à la fin de l'url:

var auto_refresh = setInterval(
    function() { 
    $('#news').load('apps/news.php?random='+(new Date()).getTime()).fadeIn("slow"); 
    }, 1000); 
1

Ajouter no-cache dans la directive de mise en cache pour news.php ou un cache court « dire 500 sec 'pour améliorer les performances pour < 1000s actualiser. Tweak la stratégie de mise en cache à votre votre besoin.

Echantillon de http://www.php.net/manual/en/function.header.php:

<?php 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 
+0

C'est super, je pensais qu'il était impossible. – bear

Questions connexes