我正在寻找一个解决方案,其中后退和前进按钮控制着我的ajax通话记录。
所以如果我maka ajax call,然后按“back”我想重新加载原始页面。
如果我进行ajax呼叫然后再进行另一次呼叫,然后按后退按钮我想再次进行第一次ajax呼叫。
依此类推......(即如果我现在按下前进按钮,第二个ajax coll shell将重做;-))
感谢
更新
好吧,我用一个名为jQuery Address的非常好的jquery插件解决了整个问题,并且效果很好。
事实是,我在原始网站上遇到问题。我导航到mysite.foo/step1
然后我触发一个ajax呼叫,我登陆maysite.foo/step1#/#step2
,当我现在按下后退按钮我留在该网站上的内容(步骤2),我无法得到有关我的原始目标网页的信息,重新加载...
amendendly:我有一个数组,我存储了由步骤2索引的ajax调用。
step1 : {id: 1, url: /ste1.php, ... },
step2 : {id: 2, url: /step2.php, ... },...
和一个也设置哈希的函数调用ajax请求。
答案 0 :(得分:3)
您应该在文档位置哈希中保存ajax“state”(即http://page-url#ajax-state)。
如果仅修改哈希组件,浏览器将不会执行页面重新加载,但浏览器历史记录将记录URL的更改。因此,当您按下时,您将能够根据存储在文档哈希中的信息重新播放ajax调用。