你好,
我正在寻找解决方案,其中后退和前进按钮控制我的Ajax调用历史记录。
因此,如果我要进行ajax调用,然后按“返回”,我想重新加载原始页面。
如果我先执行ajax调用,然后再执行另一个,然后按“后退”按钮,我想再次执行第一个ajax调用。
依此类推…(即,如果我现在按前进按钮,则重做第二个ajax coll shell ;-))
谢谢
更新
好吧,我使用名为jQuery Address的非常漂亮的jquery插件解决了整个问题,并且效果很好。
事实是,我有麻烦要在原始站点上获得贝克。我导航到,mysite.foo/step1然后触发ajax调用,然后我登陆maysite.foo/step1#/#step2,当我现在按下“后退”按钮时,我停留在该网站上(其内容为步骤2),并且我无法获取有关我的原始目标网页的信息,因此无法重新加载…
mysite.foo/step1
maysite.foo/step1#/#step2
修正:我有一个数组,在其中存储由step2索引的ajax调用。
step1 : {id: 1, url: /ste1.php, ... }, step2 : {id: 2, url: /step2.php, ... },...
还有一个设置哈希值的函数调用ajax请求。
您应该将ajax“状态”保存在文档位置哈希中(即http:// page-url#ajax-state)。
如果仅修改哈希组件,浏览器将不会重新加载页面,但浏览器历史记录将记录URL的更改。因此,当您按返回时,您将能够基于存储在文档哈希中的信息来重播ajax调用。