2012-02-29 27 views
6

Güncellenmiş verilerle sayfamı güncelleyebilmem için güncellenmiş bir görünüm gönderen bir denetleyiciye ajax çağrısı yapıyorum. Ama ben 304: Modifiye başlık geri aldım.

ajax çağrısı için önbellekleme seçeneğini kullanmak için denedim ve IE9 üzerinde çalışılmayan istek URL'sinin sonuna manuel olarak bir zaman damgası eklemeyi denedim.

Bu, önbelleğe alma seçeneğini ayarlamadan mükemmel bir şekilde krom üzerinde çalışır.

Sorunun nerede olduğundan emin değilim.

Aşağıdaki kod, zaman damgasını el ile ekledikten sonra çalıştığımı düşündüğüm koddur. QA, bilgisayarında çalışmadığını söyledi. yerine

 $.ajax({ 
     url: form[0].action + "?cc="+new Date().getTime(), 
     type: 'POST', 
     cache: false, 
     data: $(form).serialize() 
    }) 
    .success(createFilterCleanup); 

cevap

4

önlemek için, sizin JQuery $ .ajax aşağıdaki ayarlamayı deneyin sizin ajax istekleri önbelleğe IE. Bu benim için çalıştı.

$.ajaxSetup({ cache: false }); 

VEYA

$.ajax({ type: 'POST', cache: false }); 

http://api.jquery.com/jQuery.ajax/

"Yanlış olarak ayarlanırsa, istenen sayfalar tarayıcı tarafından önbelleğe alınmaya zorlar. Önbelleği false olarak ayarlamak, URL'ye "_ = [TIMESTAMP]" adlı bir sorgu dizesi parametresini de ekler. "Aşağıda

bir başka olası çözümleri ile makale. http://www.dashbay.com/2011/05/internet-explorer-caches-ajax/

Umarım bu yardımcı olur

0

kullanarak POST yöntemi GET veya (mevcut zaman damgası gibi) rastgele kukla parametresini geçmektedir IE önbelleğe alma önlemek için tek güçlü bir yöntemdir. :(

EDITED. Dikkatle okuyun ve size yardım etmiyor damgası ekleme bulmuştu - sen ekler nasıl göstermek için küçük bir kod örneği verin lütfen