2011-08-05 9 views
5

javascript ve birçok jax araması ile php destekli bir uygulama var. benim uygulama firefox içinde bugüne kadar çalışıyor. ama ben internet explorer-8 veya benzer sürümlerde çalıştırdığınızda ajax çağrısı tarayıcımda önbelleğe alınır, bu yüzden ajax aramaları ile tarih bilgisini güncelleyemiyorum, bunun yerine ajax çağrıları eski verilerin bulunduğu tarayıcı önbelleğinde. Ben php kodujavascript veya php kullanarak internet explorer önbelleğini nasıl devre dışı bırakılır

header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past 
header('Pragma: no-cache'); 

Ama ardından ekledi

I have tried lots of possible options as listed below 

1.) I added following meta tag in header files 


<meta http-equiv='cache-control' content='no-cache'> 
<meta http-equiv='expires' content='0'> 
<meta http-equiv='pragma' content='no-cache'> 

2.) hala yukarıdaki 2 yaklaşımlar internet explorer benim uygulamasının çalıştığı önbelleğe devre dışı bırakmak için, yani herkes bana yardımcı olabilir lütfen sorunumu çözmedi, Böylece güncel bilgilere ulaşabilmek mümkün. peşin

+0

HTTP üstbilgileriyle ikinci çözüm çalışmalıdır. Sadece başlıkların gerçekten gönderildiğinden emin olun (web-sniffer.net kullanın), tarayıcının önbelleğini temizleyin (dosyalar gönderilmemişse dosyalar muhtemelen önbelleğe alınmıştı) ve bir kez daha kontrol edin. – duri

+0

* Eklediniz php kodu * - Hangi dosyada? Yanıt başlıkları AJAX komut dosyasına gitmelidir. –

+0

@duri Bir öğe zaten önbellekte ise çözümün işe yaramayacağına inanmıyorum. Ben javascript => http://stackoverflow.com/questions/2099201/javascript-hard-refresh-of-current-page/2099205#2099205 kullanarak sabit yenilemek mümkün olabilir düşünüyorum. Dosyaların geri kalanı sanırım bir sürümünü kullanarak sürümünü kullanmalısınız.() – Alfred

cevap

8

yılında

sayesinde bir şekilde her bir AJAX isteği benzersiz olun. Bu, IE'nin yanıtı önbelleğe almasını engeller.

www.mysite.com: Normal AJAX sorgusu URL'si www.mysite.com/ajax.php?dog=cat ise

Örneğin, benzersiz her AJAX isteğine sorgu dizesi parametresinde eklemek /ajax.php?dog=cat & queryid = 1

Bir AJAX isteğinde bulunduğunuz her seferinde bu parametreyi artırın ve bu sizin için hile yapmalıdır.

+0

güzel sözde kod 'dog = cat'; p –

+0

ya da her ajax isteğini saniyelerle şimdiki zaman ekleyerek benzersiz yaptım ama tüm dosyalarım için bir çözüm jenerik almak için daha iyi bir yol arıyorum ve tüm istekler herkes olabilir bana yardım et. –

+1

'url +" & rand = "+ Math.floor (Math.random() * 11)' –

İlgili konular