繁体   English   中英

Ajax +前进和后退按钮

[英]Ajax + back & forward buttons

我开始编写新的应用程序,并希望使其具有完整的ajax风格:)

我正在使用Jquery发出ajax请求。 主JS文件从按下的链接中获取一些变量,并根据该链接转到一些php文件,以获取一些数据,并将所有内容放入预先准备的html标签中。

这就是我看这个应用程序的方式。

现在,我找到了一些使后退按钮开始工作的解决方案,但是在这些解决方案中,它们的脚本转到了预定义的页面,并根据一些常量ID读取了一些数据,所以我不喜欢它。

我想要的是...

  1. 我需要一些代码,如果用户按下后退按钮,将阻止浏览器重新加载页面
  2. 记住浏览器的位置,所以如果我们处于状态“ C”并被按下,它将为JS带一些值为“ B”的变量,然后JS转到php并说“ B”,这样php将了解要准备的内容。 将内容还给JS,JS更新页面,大家开心。

有解决方案可以这样工作吗?

我过去曾为此目的使用过jQuery BBQ:“后退按钮和查询库 ”。

具体来说, 基本的AJAX示例看起来就是您所追求的。 其余示例也是最出色的。

我认为您应该看一下boundary.js http://documentcloud.github.com/backbone/ 它具有基于路由器的应用程序结构,其中每个路由实际上是一个不同的/#ed URL。

这样,当您有一个项目列表时,可以将其显示在路线/#itemsList中,并且每个项目详细信息页面都可以在/#items / id上。 整个导航已为您完成,您所要做的就是调用某些函数或粘贴到达该URL时要运行的代码。 (示例改编为http://documentcloud.github.com/backbone/#Router

var Workspace = Backbone.Router.extend({

  routes: {
    "help":                 "help",    // #help
    "item/:id":        "item",  // #item/myItemId
    "itemList": "list"   // #itemList
  },

  help: function() {
    ... show help
   },

  item: function(id) {
    ... show single item with jQuery, Ajax, jQuery UI etc
  },

  itemList: function(){
    ... show item list with jQuery, jQuery UI etc.
  }

});

www.myapp.com/#help->帮助代码

www.myapp.com/#item/32-> ID为32的项目,该项目在item(id)函数中捕获,并请求通过Ajax提取数据

www.myapp.com/#itemList->所有项目的列表,您可以在其中为每个项目生成带有#item / id的链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM