【发布时间】:2009-06-28 22:32:56
【问题描述】:
我有一个执行多个 ajax 请求并被修改的网页,所有 ajax 请求都缓存在页面上。然后用户单击某个链接并对另一个页面执行同步请求。然后用户点击浏览器的“返回”按钮。之前通过 ajax 加载的所有数据都将丢失。用户单击浏览器中的“返回”按钮后是否可以恢复页面状态,因此之前加载的所有数据都可以在没有新的 ajax 请求的情况下恢复?
jQuery 历史插件提供了一点帮助,它允许回到页面的正确位置,但它执行必要的 ajax 请求。另外,如果有很多 ajax 请求,很难将它们正确存储在历史记录中。
有没有办法在不使用 cookie 或服务器端的情况下解决我的问题?
【问题讨论】:
-
不使用历史记录会很复杂。否则,您必须 pushState() 提供有关当前状态的信息。不过,在这种情况下,Cookie 可能不是一个好主意。在服务器上保存会话是一个很好的解决方案,但是,当用户几天后返回该页面时,他不太可能确切地看到他之前拥有的内容,而这可能不是您想要的......跨度>