Prevent browser caching of AJAX call result

Salamander2007 picture Salamander2007 · Dec 15, 2008 · Viewed 307.9k times · Source

It looks like if I load dynamic content using $.get(), the result is cached in browser.

Adding some random string in QueryString seems to solve this issue (I use new Date().toString()), but this feels like a hack.

Is there any other way to achieve this? Or, if unique string is the only way to achieve this, any suggestions other than new Date()?

Answer

Peter J picture Peter J · Apr 9, 2009

The following will prevent all future AJAX requests from being cached, regardless of which jQuery method you use ($.get, $.ajax, etc.)

$.ajaxSetup({ cache: false });