Why some numbers are added to url of ajax object and how to remove them?

Ata Iravani picture Ata Iravani · Sep 1, 2012 · Viewed 20.4k times · Source

I Wanna download file for further use, this is the best way I've found, but when I see the Log that is created by beforeSend Event, the URL has been modified by a queryString like:

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

Numbers are random too.

I wonder why this happens !!!!

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

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

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

Answer

rahul picture rahul · Sep 1, 2012

Just use cache : true. jQuery will automatically add a timestamp to the end of the URL for you, making sure that ajax requests are never cached.

from jquery docs

Default: true, false for dataType 'script' and 'jsonp'
If set to false, it will force requested pages not to be cached by the browser. Setting cache to false also appends a query string parameter, "_=[TIMESTAMP]", to the URL.

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

Jquery Ajax Docs