4

我有一个页面,其中包含一些可编辑的功能,这些功能在编辑时会通过 Ajax 进行更新。有些值存储在 cookie 中,以便在加载页面时加载它们。如果用户进行了更改,然后转到另一个页面并单击返回按钮返回,则原始页面将从缓存中加载而没有新值。如果用户刷新页面,则会从 cookie 重新加载更改并显示正确的值。当页面被动态修改时,我可以使缓存失效吗?我希望能够利用浏览器缓存,所以如果我能提供帮助,我不想让页面总是使浏览器缓存失效。任何建议表示赞赏。

4

3 回答 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 回答