It seems that in IE9, using jquery .load will pull data from the browsers cache and so the 'real time' effect of AJAX loading content isnt working. Is there any kind of switch to force jquery .load to get the data fresh?
Thansk!
The option to disable caching is available in jQuery if you are using the $.ajax
low-level method. This is not represented in the simplified signature for load
. You could mimic it instead, by ensuring that the URL is always unique. You can put the current time in milliseconds on the end of the URL to achieve that, since that will practically always be unique:
url += '?_=' + Date.now();
(This presumes that url
is a string containing the request URL and that it doesn't have any query parameters currently.)
Or you can use $.ajax
and set the cache
option to false
which will cause jQuery to append a timestamp to the request URL under the hood:
$.ajax( {
url: "foo.html",
type: "GET",
cache: false,
success: function(html) {
$("#foo").html(html);
}
});
On the page content you try to load, make it to send header first so that request will not use cache...
For example, on the top of the code, add following lines
<?php
header("Cache-Control: no-cache");
header("Pragma: no-cache");
//Other page contents that have to be loaded
?>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With