0

Why does jQuery.ajax() add a parameter to the url?

Cache needs to be true.

Any suggestions as why this will not work? It won;t print the console.logs showing that this wont even allow me in. This call is appending my request URL with &_=1396146406542. How do I get rid of that add-on? So the request URL is

chatlist.php?PHPSESSID=a8f2b228d783642848da94699ce85c03&_=1396146406542

and I just want it to be

chatlist.php?PHPSESSID=a8f2b228d783642848da94699ce85c03&

$.ajax({

url: "chatlist.php?PHPSESSID=a8f2b228d783642848da94699ce85c03",
cache: false,
success: function(data){
  window.console && console.log("JSON Received"); //wont print
Community
  • 1
  • 1
chatycat99
  • 109
  • 1
  • 10

1 Answers1

1

That is because of cache: false. It adds the timestamp to avoid caching

jquery.ajax doc:

cache (default: true, false for dataType 'script' and 'jsonp') Type: Boolean If set to false, it will force requested pages not to be cached by the browser. Note: Setting cache to false will only work correctly with HEAD and GET requests. It works by appending "_={timestamp}" to the GET parameters. The parameter is not needed for other types of requests, except in IE8 when a POST is made to a URL that has already been requested by a GET.

Set it to:

url: "chatlist.php?PHPSESSID=a8f2b228d783642848da94699ce85c03",
cache: true <--
geekymartian
  • 645
  • 5
  • 11