AJAX并使用javascript历史记录()

时间:2011-03-04 13:00:30

标签: javascript ajax

我有页面,使用jQuery使用AJAX(表单过滤器)加载数据。然后,这会给我一个我点击的项目列表。

当项目的页面加载时,我有一个后退按钮,使用:

 <script type="text/javascript">
 function navigateBack(){
  if (document.referrer.indexOf("press")> -1){
   history.go(-1);
   return false;
  }
  return true;
 }
 </script>
     <a href="" onClick="navigateBack()">

但我真正想要发生的是它返回到AJAX过滤结果。

这可能吗?

由于

2 个答案:

答案 0 :(得分:1)

必须实施此要求,以便我们在URL中附加一个密钥,如

http://abc.com/xyz.html#search-key=keyword

在java脚本中,它应该有一个全局(如静态)变量,它是各种键的搜索结果的对象映射。如果地图包含url中的键,则返回表单,否则触发ajax请求并从服务器获取值。

每当进行服务器调用并且结果存储在地图中时,请务必使用密钥附加URL。像DWR这样的一些框架使得处理起来非常简单。

答案 1 :(得分:0)

控制AJAX应用程序中Back按钮的一个好方法是使用Real Simple History库。

“RSH将应用程序数据序列化到内部JavaScript缓存中,以便可以使用书签和后退按钮将应用程序恢复到之前的状态。”