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

Dav*_*son 5 html ajax caching

我的情况是我的页面从数据库加载一些信息,然后通过AJAX进行修改.

我点击指向另一个页面的链接,然后使用"后退"按钮返回原始页面.

我之前通过AJAX对页面所做的更改没有出现,因为浏览器将未更改的页面存储在缓存中.

有没有办法解决这个问题而不设置页面根本不缓存?

谢谢 :)

Sky*_*ers 1

想象一下,对服务器的每个信息请求(包括初始页面加载和每个 ajax 请求)都是不同的实体。每一项可能会也可能不会缓存在服务器和浏览器之间的任何位置。

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

您必须维护状态(可能使用 cookie)才能重建页面。事实上,在我看来,您可能希望移入和移出的动态生成的文档肯定应该定义一个工作流程来保留并检索其状态。

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