代码之家  ›  专栏  ›  技术社区  ›  David Lawson

使用Ajax修改页面时出现问题,浏览器将未修改的页面保存在缓存中。

  •  5
  • David Lawson  · 技术社区  · 15 年前

    我的页面从数据库中加载一些信息,然后通过Ajax进行修改。

    我单击另一页的链接,然后使用“后退”按钮返回到原始页。

    我以前通过Ajax对页面所做的更改不会出现,因为浏览器将未更改的页面存储在缓存中。

    有没有一种方法可以在不将页面设置为完全不缓存的情况下修复此问题?

    谢谢)

    1 回复  |  直到 15 年前
        1
  •  1
  •   Sky Sanders    15 年前

    假设向服务器请求信息(包括初始页面加载和每个Ajax请求)的每个请求都是不同的实体。每个服务器和浏览器之间的任何位置都可以缓存,也可以不缓存。

    您正在通过对服务器的任意请求和动态DOM操作来修改提供给您的初始页面(大多数情况下由浏览器缓存)。浏览器必须能够跟踪这些更改。

    为了重建页面,可能需要使用cookie来维护状态。事实上,在我看来,一个动态生成的文档,您可能希望移动到和从中,一定要定义一个工作流,该工作流将持续并检索它的状态。

    也许用发送到服务器的密钥为每个被操作的元素设置一个cookie来获取数据?