我有一个页面,其中包含一些可编辑的功能,这些功能在编辑时会通过 Ajax 进行更新。有些值存储在 cookie 中,以便在加载页面时加载它们。如果用户进行了更改,然后转到另一个页面并单击返回按钮返回,则原始页面将从缓存中加载而没有新值。如果用户刷新页面,则会从 cookie 重新加载更改并显示正确的值。当页面被动态修改时,我可以使缓存失效吗?我希望能够利用浏览器缓存,所以如果我能提供帮助,我不想让页面总是使浏览器缓存失效。任何建议表示赞赏。
1557 次
3 回答
1
您可以首先通过 Ajax 加载数据。
$(document).ready(function(){
$.get("your_ajax_url");
});
然后,当您点击后退按钮时,将重复 ajax 调用,并在服务器端发送带有正确设置的缓存或 Etag 标头的 http 响应。
于 2009-12-19T18:58:33.773 回答
0
您需要在 HTTP 响应中设置缓存标头。
根据您的技术,您可以在 Web 服务器(例如,基于相关 URL)或代码中(例如,使用您的框架或一些 API 调用设置标题)中执行此操作。
具体来说:
no-cache
expires
是你想要的。
于 2009-10-26T19:21:53.983 回答
0
你可以这样写
$.ajax(
{
url: 'Serverpage name'
cache: false,
type: 'POST',
success: function(msg)
{
});
});
这里设置缓存:false,不会设置任何缓存。
于 2009-12-22T12:15:41.340 回答