2011-08-05 10 views
5

का उपयोग कर इंटरनेट एक्सप्लोरर कैश को अक्षम करने के लिए कैसे करें मेरे पास जावास्क्रिप्ट और कई जैक्स कॉल के साथ एक PHP संचालित एप्लिकेशन है। मेरा आवेदन फ़ायरफ़ॉक्स में अद्यतित काम कर रहा है। लेकिन जब मैं इसे इंटरनेट एक्सप्लोरर -8 या इसी तरह के संस्करणों में चलाता हूं तो मेरे एजेक्स कॉल को मेरे ब्राउज़र में कैश किया जाता है, इसलिए मैं अजाक्स कॉल के साथ अद्यतित जानकारी को आउटपुट करने में सक्षम नहीं हूं जिसके परिणामस्वरूप अजाक्स कॉल पुराने डेटा के साथ परोसा जाता है ब्राउज़र कैश में।जावास्क्रिप्ट या php

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.) मैं php कोड

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'); 

लेकिन बाद जोड़ा अभी भी ऊपर 2 दृष्टिकोण इंटरनेट एक्सप्लोरर जब अपने आवेदन रन कैशिंग निष्क्रिय करने के लिए मेरी समस्या का समाधान नहीं यानी, किसी को भी मेरी मदद कर सकते कृपया, ताकि अद्यतित जानकारी प्राप्त हो सके।

अग्रिम धन्यवाद

+0

HTTP हेडर के साथ दूसरा समाधान काम करना चाहिए। बस सुनिश्चित करें कि हेडर वास्तव में भेजे जा रहे हैं (वेब- sniffer.net का उपयोग करें), ब्राउज़र के कैश को साफ़ करें (फ़ाइलों को संभवतः कैश किया गया था जब कोई हेडर नहीं भेजा गया था) और इसे एक बार फिर से जांचें। – duri

+0

* मैंने निम्नलिखित PHP कोड * जोड़ा - किस फ़ाइल में? प्रतिक्रिया शीर्षलेखों को आपके AJAX स्क्रिप्ट में जाना चाहिए। –

+0

@duri मुझे विश्वास नहीं है कि अगर कोई आइटम पहले से ही कैश में है तो समाधान काम करेगा। मुझे लगता है कि आप जावास्क्रिप्ट => http://stackoverflow.com/questions/2099201/javascript-hard-refresh-of-current-page/2099205#2099205 का उपयोग करके कड़ी मेहनत कर सकते हैं। बाकी चीजें जो मुझे लगता है कि आपको फ़ाइलमैट() – Alfred

उत्तर

8

प्रत्येक AJAX अनुरोध को किसी भी तरह से अद्वितीय बनाएं। इससे आईई को प्रतिक्रिया कैश करने से रोका जा सकेगा।

www.mysite.com:

उदाहरण के लिए, यदि आप अपने सामान्य AJAX क्वेरी URL www.mysite.com/ajax.php?dog=cat, एक क्वेरी स्ट्रिंग पैरामीटर में प्रत्येक AJAX अनुरोध है कि अद्वितीय है करने के लिए जोड़ /ajax.php?dog=cat & क्वेरीड = 1

प्रत्येक बार जब आप AJAX अनुरोध करते हैं तो पैरामीटर बढ़ाएं, और उम्मीद है कि यह आपके लिए चाल करे।

+0

अच्छा छद्म कोड 'कुत्ता = बिल्ली'; पी –

+0

या मैंने सेकंड के साथ वर्तमान समय जोड़कर प्रत्येक AJAX अनुरोध अद्वितीय किया है, लेकिन मैं अपनी सभी फाइलों के लिए समाधान जेनेरिक पाने का एक बेहतर तरीका खोज रहा हूं और सभी अनुरोध किसी को भी कृपया मेरी मदद करो। –

+1

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

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