2012-08-08 7 views
18

से वर्तमान मान कैसे प्राप्त करें मेरे पास एक पृष्ठ है जो उपयोगकर्ता के अनुरोध पर, एक संवाद बॉक्स खोलता है और jQuery की लोड() विधि का उपयोग करके बाहरी फ़ाइल लोड करता है।jQuery के AJAXSetup

बाहरी फ़ाइल में स्क्रिप्ट के लिंक होते हैं (यह एक स्टैंडअलोन पेज के रूप में भी काम कर सकता है) और यह ठीक है, केवल वह jQuery उन स्क्रिप्ट को लोड करने के लिए मजबूर करता है (टाइमस्टैम्प जोड़कर) भले ही वे पहले ही लोड हो चुके हों।

मुझे इन स्क्रिप्ट को देखते समय कैशिंग को अनुमति देने के लिए jQuery को बताना होगा। एक bug report का जवाब

$.ajaxSetup({ cache: true }) 

उपयोग करने का सुझाव ... जो काम करता है, लेकिन भविष्य की सभी AJAX अनुरोध के लिए सेटिंग बदल जाता है।

// Get current setting - code not valid but is what I want 
var defaultCache = $.ajaxSetup("cache"); 

$.ajaxSetup({cache:true}); // Now set it to what I want 

// do stuff… 

$.ajaxSetup({cache:defaultCache}); // Set it back to the default 

उत्तर

24

आप ऐसा कर सकते हैं:

$.ajaxSetup()['cache'] 
+0

बेशक, यह मेरे लिए नहीं हुआ था कि आप फ़ंक्शन नाम के बाद भी संपत्तियों तक पहुंच सकते हैं। शीघ्र उत्तर के लिए धन्यवाद! – user535673

+0

एक बूलियन रिटर्न के लिए, हम इसका उपयोग कर सकते हैं: !! jQuery.ajaxSetup() ['कैश'] –

+0

यह JQuery 1.3.2 में मेरे लिए काम नहीं करता है। – ovaherenow

1

आप इस का उपयोग कर सकते हैं: वहाँ की तरह कुछ करने के लिए एक रास्ता है

$.ajaxSettings['cache'] 
+0

के पुराने संस्करणों के लिए काम करता है यह JQuery 1.3.2 के लिए काम करता है – ovaherenow

0
// Save current global ajax setup 
$.cachedAjaxSetup = $.extend(true, {}, $.ajaxSetup()); 

// change global ajax setup 
$.ajaxSetup({ 
    headers : { "Authorization": 123 } 
}); 

// revert back to saved ajax setup 
$.ajaxSetup($.cachedAjaxSetup); 

(कष्टप्रद) समस्या है, ऑब्जेक्ट विलय हो जाएगा, इसलिए उपरोक्त उदाहरण के लिए, headers सेटिंग बनी रहेगी क्योंकि यह मूल ऑब्जेक्ट पर मौजूद नहीं थी।

यदि आप जानते हैं कि कौन से गुण जोड़े गए थे, तो उन्हें कैश करें और उन्हें delete $.ajaxSettings.headers जैसे मैन्युअल रूप से हटा दें और फिर उस सेटिंग को फिर से जोड़ने पर उन्हें वापस जोड़ें। गंदे, लेकिन यह काम करता है ..

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