html - 使用 ajax 修改页面的问题,以及浏览器将未修改的页面保留在缓存中的问题

标签 html ajax caching

我的页面会从数据库加载一些信息,然后通过 AJAX 修改这些信息。

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

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

有没有办法在不将页面设置为根本不缓存的情况下解决此问题?

谢谢:)

最佳答案

假设对服务器的每个信息请求,包括初始页面加载和每个 ajax 请求,都是不同的实体。每一个都可能缓存也可能不缓存在服务器和浏览器之间的任何地方。

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

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

也许为每个被操纵的元素设置一个 cookie,其中包含发送到服务器以获取数据的 key ?

关于html - 使用 ajax 修改页面的问题,以及浏览器将未修改的页面保留在缓存中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890681/

相关文章:

html - Bootstrap Button href 链接到我的代码?

php - 随着时间改变div内容

php - 使用 php ajax 和 mysql 使用 secret 问题重置密码

javascript - 如何将每个查询结果存储在另一个数组中并在最后返回到 Controller

ruby-on-rails - 与 mem_cache_store 相比,使用 file_store 存储缓存是否会对性能造成很大影响?

caching - Redis作为服务启动【无法识别的服务错误】

java - 从流中删除开头和结尾字符

html - 为特定类的列而不是页面中的每个列类应用响应式布局

html - 将鼠标悬停在图像上时,可滚动的 div 不可滚动

javascript - 如果屏幕缩小,则更改 <h1> 的文本