浏览器后退按钮Ajax

时间:2011-03-22 13:18:51

标签: php ajax

我知道有很多这方面的主题,但根据我在其他主题中所读到的内容,我无法确定要做什么。

我有一个页面“abc.php”。用户可以进行搜索,然后使用2个ajax请求填充表单。然后,如果用户导航到另一个页面,然后单击BACK到“abc.php”,则表单的内容不完整,因为ajax不会运行。有没有办法让这种情况发生?

3 个答案:

答案 0 :(得分:4)

在执行ajax时修改您的网址,方法是在哈希之后添加搜索字词(例如http://example.com/search.php#search-terms-here

然后在加载页面时,从URL中读回搜索词。

答案 1 :(得分:1)

This是一篇关于使用jQuery启用后退按钮的非常好的文章/教程。

答案 2 :(得分:1)

使用history.js,以下函数“侦听”网址栏中的更改,并调用函数来加载相应的页面:

History.Adapter.bind(window,'statechange',function(){  
    var State = History.getState();  
    page(State.url);  
});

function page(url) {
    //AJAX
}

现在,无论何时想要更改页面,都可以致电:

History.pushState({state:X}, "Page Title", "Page Url");

这将更新浏览器的网址栏,并自动调用新网址的页面(State.url);以及所有浏览器功能,如前进/后退按钮,书签等......都应该有效。