Prevent JQUERY .load from cache
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
?>