2012-09-01 9 views
23

आगे उपयोग के लिए आई वान्ना डाउनलोड फ़ाइल, इस का सबसे अच्छा तरीका मैंने पाया है, लेकिन जब मैं प्रवेश करें कि beforeSend घटना द्वारा बनाई गई है देखते हैं, यूआरएल की तरह एक क्वेरी स्ट्रिंग द्वारा संशोधित किया गया:AJAX ऑब्जेक्ट के url में कुछ संख्याएं क्यों शामिल की जाती हैं और उन्हें कैसे निकालें?

http://blabla.com/test.swf?_=1346484617818 

संख्या भी यादृच्छिक हैं।

मुझे आश्चर्य है कि ऐसा क्यों होता है !!!!

var url = 'http://blabla.com/test.swf'; 

$(document).ready(function() { 
      $.ajaxSetup({ 
      'beforeSend':function() { 
          console.log(this.url);} 
      }); 

     $.ajax({ 
      url:url, 
      dataType:"script", 
      }); 
}); 

उत्तर

31

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

jQuery डॉक्स से

डिफ़ॉल्ट: सच है, डेटाप्रकार 'स्क्रिप्ट' और 'jsonp'
तो false करने के लिए सेट, के लिए झूठी यह बल का अनुरोध पृष्ठों ब्राउज़र द्वारा संचित किया जा करने के लिए नहीं होगा । false पर कैश सेट करना URL पर एक क्वेरी स्ट्रिंग पैरामीटर, "_=[TIMESTAMP]" भी संलग्न करता है।

$.ajaxSetup({'cache':true}); 

Jquery Ajax Docs

+1

आप सही रास्ते पर हैं, लेकिन गलत दिशा में कर रहे हैं;) http://api.jquery.com/jquery.ajax/ – Andreas

+0

आप कृपया कैसे समझा सकता है? – rahul

+4

डेटाटाइप _script_ और _jsonp_ jQuery के लिए डिफ़ॉल्ट रूप से 'कैश: झूठा' का उपयोग करता है और कैशिंग को रोकने के लिए '_ = [TIMESTAMP]' जोड़ने के लिए होगा। इसे रोकने के लिए, आपको 'कैश: सत्य' का उपयोग करना होगा। – Andreas

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