How to prevent the browser from caching a json file How to prevent the browser from caching a json file json json

How to prevent the browser from caching a json file


The easiest way is to append the source string with some random parameter, which gets ignored on the server side

<script src="mySaveFiles.json?nocache=123" ></script>

One solution would be to generate the script element using JavaScript and append the current time like this:

var el = document.createElement( script );el.src = 'mySaveFiles.json?nocache=' + (new Date()).getTime();document.head.appendChild( el );

That way, the browser will never cache the JSON-file as it appears to be a different file (due to the parameter) in every call.


One of my favorites is just htaccess (if this is possible for you, I can't see that)

Disable cache for multiple extensions

<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi|json)$">    Header unset Cache-Control</FilesMatch>

Disable cache for just 1 extension

<Files .json>    Header unset Cache-Control</Files>

I found it here: http://www.queness.com/post/5421/17-useful-htaccess-tricks-and-tips


Two options:

  1. Add a mySaveFiles.json?t=timestamp query parameter to the end of the url.
  2. Pull the file in with the XmlHttpRequest object (you still may need to add a timestamp depending on the server).