javascript-前进和后退按钮来控制ajax加载

你好,

我正在寻找一种解决方案,其中后退和前进按钮控制我的ajax调用历史记录.

因此,如果我要进行ajax调用,然后按“返回”,我想重新加载原始页面.

如果我先执行ajax调用,然后再执行另一个,然后按“后退”按钮,我想再次执行第一个ajax调用.

依此类推…(即如果我现在按下前进按钮,则重做第二个ajax coll shell ;-))

谢谢

更新

好吧,我使用名为jQuery Address的非常漂亮的jquery插件解决了整个问题,并且效果很好.

事实是,我有麻烦要在原始站点上使用.我导航到mysite.foo/step1,然后触发ajax调用,然后降落在maysite.foo/step1#/#step2上,当我现在按“返回”按钮时,我将停留在该站点及其内容(属于step2),无法获取有关我原始目标网页的信息,请重新加载该信息…

修正:我有一个数组,我在其中存储由步骤2索引的ajax调用.

step1 : {id: 1, url: /ste1.PHP, ... },
step2 : {id: 2, url: /step2.PHP, ... },...

还有一个设置哈希值的函数调用ajax请求.

解决方法:

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

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

另请参阅以下问题:
Detecting Back Button/Hash Change in URL

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...