2012-02-29 20 views
6

पर नेट एमवीसी और jquery $ .ajax मेरे पास एक नियंत्रक को AJAX कॉल है जो मुझे एक अद्यतन दृश्य वापस भेजना है ताकि मैं अद्यतन पृष्ठ के साथ अपना पृष्ठ अपडेट कर सकूं। लेकिन मुझे 304 मिलते हैं: संशोधित हेडर वापस नहीं।आईई 9

मैंने AJAX कॉल के लिए नो-कैश विकल्प का उपयोग करने की कोशिश की, और अनुरोध यूआरएल के अंत में मैन्युअल रूप से टाइमस्टैम्प जोड़ने की कोशिश की, उनमें से कोई भी आईई 9 पर काम नहीं किया।

यह कैशिंग विकल्प को सेट किए बिना क्रोम पर पूरी तरह से काम करता है।

मुझे यकीन नहीं है कि समस्या कहां है।

निम्नलिखित कोड है जिसका मैंने उपयोग किया था, जिसे मैंने टाइमस्टैम्प मैन्युअल रूप से जोड़ने के बाद काम किया था। क्यूए ने कहा कि यह अपने कंप्यूटर पर काम नहीं करता है। बजाय

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

उत्तर

4

सेट करने का प्रयास अपने JQuery $ .ajax में निम्नलिखित, को रोकने के लिए अपने ajax अनुरोध को संचित करने से आईई। यह हमेशा मेरे लिए काम किया है।

$.ajaxSetup({ cache: false }); 

या

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

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

"यदि गलत पर सेट किया गया है, तो यह अनुरोधित पृष्ठों को ब्राउज़र द्वारा कैश किए जाने के लिए मजबूर करेगा। कैश को झूठी में सेट करना भी क्वेरी स्ट्रिंग पैरामीटर, "_ = [TIMESTAMP]" को यूआरएल में जोड़ता है। "

नीचे कुछ अन्य संभावित समाधानों के साथ एक लेख है:। http://www.dashbay.com/2011/05/internet-explorer-caches-ajax/

उम्मीद है कि इस मदद करता है

0

का उपयोग करना POST विधि प्राप्त या यादृच्छिक डमी पैरामीटर (वर्तमान टाइमस्टैम्प की तरह) पारित IE में कैशिंग को रोकने के लिए केवल मजबूत तरीका है। :(

संपादित:। ध्यान से पढ़ें और टाइमस्टैम्प जोड़कर आप उन्हें अधिक मिल गया था - दिखाने के लिए आप इसे कैसे संलग्न है एक छोटा सा नमूना कोड दे कृपया

संबंधित मुद्दे