阻止 AJAX 调用结果的浏览器缓存

2022-08-30 00:13:51

看起来如果我使用 加载动态内容,结果会缓存在浏览器中。$.get()

在QueryString中添加一些随机字符串似乎可以解决这个问题(我使用),但这感觉就像一个黑客。new Date().toString()

有没有其他方法可以实现这一目标?或者,如果唯一字符串是实现这一目标的唯一方法,那么除了?new Date()


答案 1

以下内容将阻止缓存所有将来的AJAX请求,无论您使用哪种jQuery方法($.get,$.ajax等)。

$.ajaxSetup({ cache: false });

答案 2

JQuery的$.get()将缓存结果。而不是

$.get("myurl", myCallback)

你应该使用 $.ajax,这将允许你关闭缓存:

$.ajax({url: "myurl", success: myCallback, cache: false});