在浏览器中导航时ajax请求

时间:2009-06-28 22:32:57

标签: jquery ajax browser

我有一个执行多个ajax请求并被修改的网页,所有ajax请求都缓存在页面上。然后,用户单击某个链接并对另一个页面执行同步请求。然后用户点击浏览器的“后退”按钮。之前通过ajax加载的所有数据都将丢失。用户单击浏览器中的“后退”按钮后是否可以恢复页面状态,以便在没有新的ajax请求的情况下还原先前加载的所有数据?

jQuery历史插件提供了一些帮助,它允许返回到页面的正确位置,但它执行必要的ajax请求。另外,如果有很多ajax请求,很难将它们正确地存储在历史中。

有没有办法在不使用cookie或服务器端的情况下解决我的问题?

2 个答案:

答案 0 :(得分:1)

  

有没有办法解决我的问题   不使用cookie或服务器端?

答案可能是'不'。用于JS的数据是由服务器提供的数据驱动的。为了保存信息,您需要将其存储在服务器上并将其发回。

严格使用JS的概念会不必要地绑手。在AJAX调用服务器期间将这些东西保存到会话变量中(因为它无论如何都与服务器通信)可能是一个相当简单的实现。

答案 1 :(得分:0)

Really Simple History提供了一个非常灵活的API来管理后退按钮的功能。