मैं इंटरनेट एक्सप्लोरर में कैशिंग से jQuery Ajax अनुरोध को कैसे रोक सकता हूं?
मैं इंटरनेट एक्सप्लोरर में कैशिंग से jQuery Ajax अनुरोध को कैसे रोक सकता हूं?
जवाबों:
आप $.ajaxSetup()
उदाहरण के लिए, विश्वव्यापी रूप से कैशिंग को अक्षम कर सकते हैं :
$.ajaxSetup({ cache: false });
अनुरोध करने पर यह क्लेमेस्टर में टाइमस्टैम्प को जोड़ देता है। किसी विशेष $.ajax()
कॉल के लिए कैश को बंद करने के लिए , cache: false
इसे स्थानीय रूप से इस तरह सेट करें:
$.ajax({
cache: false,
//other options...
});
cache: false
केवल HEAD और GET अनुरोधों के साथ सही ढंग से काम करेगा। इसके अलावा, आप निर्धारित करते हैं cache: false
में $.ajaxSetup
, के अनुसार jQuery.ajaxSetup () प्रलेखन , यह "भविष्य अजाक्स अनुरोधों के लिए सेट डिफ़ॉल्ट मान।" तो हाँ, यह भविष्य के सभी HEAD और GET AJAX अनुरोधों के लिए कैश को अक्षम कर देगा।
cache: false
। विश्व स्तर पर कैशिंग को बंद करना ओवरकिल की तरह लगता है, लेकिन प्रति अनुरोध पर नियंत्रण रखना सही है। धन्यवाद
यदि आप अद्वितीय पैरामीटर सेट करते हैं, तो कैश काम नहीं करता है, उदाहरण के लिए:
$.ajax({
url : "my_url",
data : {
'uniq_param' : (new Date()).getTime(),
//other data
}});
cache
पैरामीटर पहले से ही पर्दे के पीछे करता है।
Cache-Control: no-cache, no-store
इन दो हेडर मूल्यों को IE और फ़ायरफ़ॉक्स दोनों पर आवश्यक प्रभाव प्राप्त करने के लिए जोड़ा जा सकता है
यहाँ एक उत्तर का प्रस्ताव है:
http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/
विचार यह है कि आपकी ajax क्वेरी में एक पैरामीटर जोड़ने के लिए उदाहरण के लिए वर्तमान तिथि एक बार, इसलिए ब्राउज़र इसे कैश नहीं कर पाएगा।
लिंक पर एक नजर है, यह अच्छी तरह से समझाया गया है।
cache
पैरामीटर पहले से ही पर्दे के पीछे करता है।
आप इसे इस तरह परिभाषित कर सकते हैं:
let table = $('.datatable-sales').DataTable({
processing: true,
responsive: true,
serverSide: true,
ajax: {
url: "<?php echo site_url("your url"); ?>",
cache: false,
type: "POST",
data: {
<?php echo your api; ?>,
}
}
या इस तरह:
$.get({url: <?php echo json_encode(site_url('your api'))?>, cache: false})
आशा करता हूँ की ये काम करेगा
यह एक पुरानी पोस्ट है, लेकिन अगर IE आपको परेशानी दे रहा है। अपने GST अनुरोधों को POST में बदलें और IE उन्हें अब कैश नहीं करेगा।
मैं इस तरह से बहुत मुश्किल समय लगा रहा था। आशा करता हूँ की ये काम करेगा।
cache:false
केस-बाय-केस आधार पर सेटिंग जाने का तरीका है।