Chris
Chris

Reputation: 27384

jQuery caches AJAX request in IE even though cache: "false" is set

I have the following code

$.ajax({type: "GET",
  url: "/" + filename,
  dataType: "xml",
  cache: "false",
  success: function(xml)
{
    /* Parsing code here */
}});

In Chrome etc the requests are not cached, however they are in IE. Am I constructing my request properly?

Upvotes: 9

Views: 9296

Answers (2)

Matt
Matt

Reputation: 75307

cache should be a boolean, not a string:

$.ajax({type: "GET",
  url: "/" + filename,
  dataType: "xml",
  cache: false,
  success: function(xml){
    /* Parsing code here */
  }  
});

Upvotes: 22

Dustin
Dustin

Reputation: 4185

Perhaps it is the mimetype of the xml file you are returning? http://www.nerdydork.com/ie-json-caching-bug.html

One commenter on my blog suggested adding a time string to the json request:

I’m not going to trust in setting the cache to off in .ajaxSetup….

So just add a time string at the end of each json request, e.g.

$.getJSON( ‘/url/’, { data: 123, t: (new Date()).getTime() }, function(data) { //do whatever } );

Upvotes: 0

Related Questions