后退和前进按钮来控制ajax负载

时间:2010-10-15 16:04:06

标签: javascript ajax jquery-plugins

你好,一起,

我正在寻找一个解决方案,其中后退和前进按钮控制着我的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请求。

1 个答案:

答案 0 :(得分:3)

您应该在文档位置哈希中保存ajax“state”(即http://page-url#ajax-state)。

如果仅修改哈希组件,浏览器将不会执行页面重新加载,但浏览器历史记录将记录URL的更改。因此,当您按下时,您将能够根据存储在文档哈希中的信息重新播放ajax调用。

另见这个问题: Detecting Back Button/Hash Change in URL