दिलचस्प पोस्ट
माता-पिता और बच्चे दोनों ही एक ही इंटरफ़ेस क्यों लागू करेंगे? सबसे अच्छा यूएमएल आरेखण उपकरण क्या है? स्विफ्ट भाषा में संरचना बनाम वर्ग AngularJS संसाधन वादा मैं स्फिंक्स। Rst फ़ाइल में एक कॉन्फ़िगर मान कैसे प्राप्त करूं? 0 – 100 के बीच प्रधान संख्याओं को कैसे ढूंढें? एक WHERE करना .. सिद्धांत 2 में subquery में फिल्टर struts2 शुरू करने की अपवाद – JAR के जोड़ने की कोशिश की, लेकिन एक ही परिणाम क्यों स्काइपे HTTP या HTTPS पोर्ट 80 और 443 का उपयोग करते हैं? मेरा अमान्य चरित्र कहां है (ओआरए-00 9 11) "एन्ट्रापी और सूचना लाभ" क्या है? मैं asp.net में क्विकस्ट्रिंग से सी # का उपयोग कैसे कर सकता हूँ? वैश्विक स्थिरांक स्विफ्ट में फ़ाइल सबस्ट्रिंग प्राप्त करें – कुछ खास चारों ओर सब कुछ एक Windows प्रपत्र अनुप्रयोग में अनुप्रयोग अपवाद पकड़ो

कैश कैसे सेट करें: गलत jQuery.get कॉल में

jQuery.get() एक प्राप्त कॉल के साथ jQuery.ajax() लिए एक लघुकथा है। लेकिन जब मैं cache:false सेट cache:false हूं cache:false .get() कॉल के डेटा में cache:false , जो सर्वर पर भेजा जाता है वह एक पैरामीटर है जिसे झूठी मूल्य के साथ कैश कहा जाता है। हालांकि मेरा इरादा कैशिंग को रोकने के लिए सर्वर को डेटा के साथ टाइमस्टैम्प भेजना है, जो कि cache: false उपयोग करते समय होता है cache: false jQuery.ajax डेटा में cache: false । मैं jQuery.ajax कॉल को कॉल करने या उपयोग करने के लिए अपने jQuery.get कॉल को फिर से लिखने के बिना इसे कैसे पूरा कर सकता हूं

 $.ajaxSetup({ // Disable caching of AJAX responses cache: false }); 

अद्यतन: उत्तर के लिए सभी को धन्यवाद धन्यवाद आप सभी सही हैं हालांकि, मैं उम्मीद कर रहा था कि कॉल प्राप्त करने के लिए एक रास्ता था कि आप कैश नहीं करना चाहते हैं, या उस मूल्य को अंतर्निहित .jax को भेज सकते हैं, इसलिए इसे पता होगा कि इसके साथ क्या करना है।

मैं एक। अब तक की पहचान किए गए तीन तरीकों के अलावा एक चौथाई तरीका तलाश रहा है:

  1. एजाक्ससेटअप के माध्यम से विश्व स्तर पर यह करना

  2. एक .get कॉल के बजाय एक .एजेक्स कॉल का उपयोग करना

  3. अपने। को कॉल करने के लिए एक टाइमस्टैम्प रखने वाला नया पैरामीटर जोड़कर मैन्युअल रूप से कार्य करना।

मैंने सोचा था कि इस क्षमता को .get कॉल में बनाया जाना चाहिए।

Solutions Collecting From Web of "कैश कैसे सेट करें: गलत jQuery.get कॉल में"

मेरे लिए, यह करने का सही तरीका सूचीबद्ध होगा या तो ajax या ajax ajaxSetup । यदि आप वास्तव में ajaxSetup उपयोग नहीं करना चाहते get और न ही उपयोग करना चाहते हैं, तो आप अपना खुद का पैरामीटर बना सकते हैं और वर्तमान दिनांक / समय का मूल्य दे सकते हैं।

हालांकि मैं अन्य तरीकों में से किसी एक का उपयोग न करने के बारे में अपने इरादों पर सवाल उठाता हूं।

खुद को पैरामीटर जोड़ें

 $.get(url,{ "_": $.now() }, function(rdata){ console.log(rdata); }); 

JQuery 3.0 के अनुसार, अब आप यह कर सकते हैं:

 $.get({ url: url, cache: false }).then(function(rdata){ console.log(rdata); }); 

मुझे लगता है कि आपको इसके बजाय AJAX विधि का उपयोग करना होगा जो आपको कैशिंग बंद करने की अनुमति देता है:

 $.ajax({ url: "test.html", data: 'foo', success: function(){ alert('bar'); }, cache: false }); 

JQuery प्रलेखन के अनुसार, .get() केवल url , data (सामग्री), dataType और success कॉलबैक को इसके पैरामीटर के रूप में लेता है क्या आप वास्तव में यहां करने के लिए देख रहे हैं इससे पहले कि यह भेजा जाता है jqXHR ऑब्जेक्ट को संशोधित करें। beforeSend() साथ, यह beforeSend() विधि के साथ किया जाता है लेकिन चूंकि .get() एक शॉर्टकट है, यह इसे अनुमति नहीं देता है।

यह आपके .ajax() कॉल को स्विच करने के लिए अपेक्षाकृत आसान होना चाहिए। सब के बाद, .get() केवल .get() का एक सबसेट है, इसलिए आप संभवत: beforeSend() लिए सभी डिफ़ॉल्ट मानों का उपयोग कर सकते हैं (बेशक, beforeSend() )

संपादित करें:

:: जिविंग्स का जवाब :: उत्तर ::

ओह, हाँ, cache पैरामीटर के बारे में भूल गया! जबकि पहले beforeSend() अन्य शीर्षलेखों को जोड़ने के लिए उपयोगी है, तो अंतर्निहित cache पैरामीटर बहुत आसान है यहां।

मैं खेल में बहुत देर कर रहा हूँ, लेकिन यह दूसरों की मदद कर सकता है मैंने $ $ के साथ इस समस्या को मारा। और मैं अंधा रूप से कैशिंग बंद नहीं करना चाहता था और मुझे टाइमस्टैम्प पैच पसंद नहीं आया। तो थोड़ा शोध करने के बाद मुझे पता चला कि आप $ $ के बजाय केवल $ .post का उपयोग कर सकते हैं, जो कैशिंग का उपयोग नहीं करता है। इतना ही आसान। 🙂

कैश सेट करें: jQuery.get में गलत नीचे विधि का उपयोग कर कॉल करें

नई Date().getTime(), जो टकराव से Date().getTime(), जब तक आपके पास एक ही Date().getTime(), भीतर होने वाले एकाधिक अनुरोध न हो।

या

निम्न भविष्य के AJAX अनुरोधों को कैश होने से रोकेगा, चाहे आप जिस jQuery विधि का उपयोग करें ($ .get, $ .ajax, आदि)

 $.ajaxSetup({ cache: false }); 

नोट करें कि कॉलबैक वाक्यविन्यास बहिष्कृत है :

बहिष्कार सूचना

JqXHR.success (), jqXHR.error (), और jqXHR.complete () jQuery 1.5 में शुरू की गई कॉलबैक विधियों को jQuery 1.8 के रूप में पदावनत किया गया है। अपने अंतिम निष्कासन के लिए अपना कोड तैयार करने के लिए, jqXHR.done (), jqXHR.fail (), और jqXHR.always () का उपयोग करें।

promise अंतरफलक का उपयोग करके एक आधुनिक समाधान यहां promise है

 $.ajax({url: "...", cache: false}).done(function( data ) { // data contains result }).fail(function(err){ // error });