jQuery.ajax - 强制缓存失效

时间:2009-07-20 14:00:20

标签: jquery ajax caching

我正在使用jQuery.ajax(http://docs.jquery.com/Ajax/jQuery.ajax)将不同网页的内容注入当前页面。可以将其视为“预览”窗口。 jQuery有一个可选的缓存参数,可以很好地从缓存中加载内容,而不是再次请求同一页面。

我的问题是,可以从其他位置编辑正在注入的内容。当发生这种情况时,我想使浏览器上的缓存无效,以便下次请求页面内容时,jQuery将请求页面而不是使用缓存。我可以将缓存参数设置为false,但之后不会缓存任何内容。我需要缓存内容,并且只在更改源内容时重新请求。

如何使当前缓存的网页无效?

1 个答案:

答案 0 :(得分:2)

在我看来,这是不可能的。假设您使用AJAX调用调用update.php。现在每次要使用缓存版本。但偶尔你会想要未缓存的版本。您必须通知您的网站使用未缓存的版本。因此,您可能需要另一个并行脚本来检查ajax是否应该获取update.php的缓存或未缓存版本,这基本上会破坏您的目的。

你认为实现这一目标的方法是使用电子标签:

http://en.wikipedia.org/wiki/HTTP_ETag