我的页面会从数据库加载一些信息,然后通过 AJAX 修改这些信息。
我单击指向另一个页面的链接,然后使用“后退”按钮返回到原始页面。
我之前通过AJAX 对页面所做的更改不会出现,因为浏览器在缓存中存储了未更改的页面。
有没有办法在不将页面设置为根本不缓存的情况下解决此问题?
谢谢:)
最佳答案
假设对服务器的每个信息请求,包括初始页面加载和每个 ajax 请求,都是不同的实体。每一个都可能缓存也可能不缓存在服务器和浏览器之间的任何地方。
您正在使用对服务器的任意请求和动态 DOM 操作来修改提供给您的初始页面(在大多数情况下由浏览器缓存)。浏览器必须能够跟踪这些更改。
为了重建页面,您必须维护状态,可能使用 cookie。事实上,在我看来,您可能希望移入和移出的动态生成的文档肯定应该定义一个工作流,该工作流会持续存在并检索其状态。
也许为每个被操纵的元素设置一个 cookie,其中包含发送到服务器以获取数据的 key ?
关于html - 使用 ajax 修改页面的问题,以及浏览器将未修改的页面保留在缓存中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890681/