2010-11-03 18 views
13

मैंने पहले से ही 'कैश: सच्चा' विकल्प सेट कर दिया है, लेकिन कैश केवल आईई में काम करता है, लेकिन फ़ायरफ़ॉक्स और क्रोम में नहीं। क्या यह एक ज्ञात मुद्दा है?jQuery .ajax का कैश विकल्प फ़ायरफ़ॉक्स और क्रोम में काम नहीं करता है?

+0

कैश: सत्य केवल जीईटी और हेड अनुरोध के साथ काम करता है। –

उत्तर

30

cache विकल्प एक विशेष कैश नहीं है जो jQuery बनाए रखता है, तो शायद यह एक गलत नामक है।

  • cache: false संलग्न कर देता है यूआरएल के लिए एक टाइमस्टैम्प अनुरोध किया जा रहा है, इसलिए यह बलों ब्राउज़र ताज़ा प्रति आकर्षित करने के लिए, यह एक कैश ब्रेकर की अधिक है।
  • cache: trueकुछ भी नहीं, मूल ब्राउज़र कैशिंग को जो कुछ भी करने जा रहा है वह करने के लिए छोड़ दिया जाता है।

यह एक jQuery विशिष्ट बात नहीं है, यह सिर्फ अलग-अलग ब्राउज़र प्रतिक्रिया को कैश करने के लिए चुनते हैं या नहीं। If your cache headers are set correctly ब्राउज़र को से कैश करने के लिए कह रहा है, तो यह चाहिए। हालांकि, आईई को अनुरोधों से नरक को कैश करना पसंद है, भले ही कोई हेडर निर्देश न हो ... संभवतः आप जो व्यवहार देख रहे हैं। यदि यह वही व्यवहार है जो आप चाहते हैं, तो कैश कंट्रोल हेडर (उपरोक्त लिंक देखें) को अपने पृष्ठों पर जोड़ें जिन्हें आप अन्य ब्राउज़रों में भी कैश करना चाहते हैं।

+1

मुझे लगता है कि आपके बूलियन पीछे की तरफ हैं। 'कैश: झूठा 'टाइमस्टैंप क्वेरी स्ट्रिंग जोड़ता है, जबकि' कैश: सत्य 'ब्राउज़र व्यवहार पर डिफ़ॉल्ट होता है। – RANGER

+0

@cbh - ओह, आप सही हैं, अद्यतन! –

+0

ओप ने जवाब क्यों स्वीकार किया? मुझे क्रोम के साथ एक ही समस्या है। कोई फर्क नहीं पड़ता कि मैं क्या करता हूं मुझे AJAX अनुरोध के लिए 304 नहीं मिल सकता है, भले ही सर्वर इटाग और अंतिम-संशोधित शीर्षलेख सही तरीके से भेजता है। मुझे पता बार से सीधे यूआरएल का अनुरोध करते समय 304 मिलते हैं लेकिन AJAX से नहीं, इसलिए यह स्पष्ट रूप से सर्वर समस्या नहीं है। – cap

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