मैं गूगल क्रोम का उपयोग कर रहा हूँ और मैंने देखा है कि हर बार जब मैं एक XHR अनुरोध करते हैं मैं निम्न हेडर अनुरोध पर रखे गये:jQuery XmlHttpRequest कैश-नियंत्रण अनदेखा किया जा रहा
Cache-Control: no-cache
Pragma: no-cache
आप पर कल्पना पढ़ें http://www.w3.org/TR/XMLHttpRequest/ यह कहता है कि उपयोगकर्ता एजेंट एक HTTP कैश यह लेखक अनुरोध शीर्षों में कैश नियंत्रण हेडर का सम्मान करना चाहिए (उदाहरण के लिए कैश-नियंत्रण: कोई कैश कैश नजरअंदाज) को लागू करता है निम्नलिखित
हैं। इसे कैश-कंट्रोल या प्रोगमा अनुरोध हेडर स्वचालित रूप से तब तक नहीं भेजना चाहिए जब तक कि अंतिम उपयोगकर्ता स्पष्ट रूप से ऐसे व्यवहार (जैसे पृष्ठ को पुनः लोड करके) का अनुरोध करता है।
खैर मैं कोशिश कर रहा हूँ निम्नलिखित:
$.ajax(myUrl, {
type: 'get',
dataType: 'json'
cache: true,
headers: {
'Cache-Control': 'max-age=200'
}
})
आप मैं स्पष्ट रूप से मेरी संसाधन की कैश्ड प्रतिलिपि प्राप्त करने की उम्मीद में कैश नियंत्रण हेडर सेट कर रहा हूं देख सकते हैं। खैर क्रोम कैश-कंट्रोल हेडर को अनदेखा करता है।
क्या एक्सएचआर अनुरोध करते समय Cache-Control: no-cache
शीर्षलेख नहीं भेजना संभव है?
हां, ध्यान दें कि फायरबग में "नेट" मेनू में "ब्राउज़र कैश अक्षम करें" भी है। मैं भी इस से काटा गया है। – harpo
मैं यह पता लगाने की कोशिश कर रहा हूं कि देशी fetch() कैश से डेटा वापस क्यों नहीं कर रहा था, भले ही कैश-कंट्रोल हेडर सर्वर द्वारा सही ढंग से सेट किए जा रहे हों। इस निरीक्षण को सही करने में मदद के लिए धन्यवाद, यह मुझे पागल कर रहा था। –
मैंने इसे ट्रैक करने की कोशिश करने में इतनी देर बिताई। धन्यवाद! –