首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax +后退和前进按钮

问Ajax +后退和前进按钮
EN

Stack Overflow用户
提问于 2011-09-21 12:31:17
回答 2查看 1.7K关注 0票数 5

我开始编写新的应用程序,并希望使它成为完整的ajax样式:)

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

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

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

我想要的是。

  1. 我需要一些代码,这将防止浏览器重新加载页面,如果用户是按回,前进按钮。
  2. 记住浏览器的位置,所以如果我们处于状态'C‘,然后按下它会给JS带来一些值'B’的变量,那么JS会转到php并说'B‘so php将理解准备哪些内容。把内容还给JS,JS更新页面,大家都高兴。

有这样的解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-21 12:38:37

我过去就用过jQuery烧烤:反向按钮和查询库来达到这个目的。

具体来说,basic AJAX示例看起来就是您想要的。示例的其他部分也是最优秀的。

票数 3
EN

Stack Overflow用户

发布于 2011-09-21 13:13:55

我想你应该看看backbone.js http://documentcloud.github.com/backbone/。它有一个基于路由器的应用程序结构,其中每个路由实际上是一个不同的/#'ed url。

像这样,当您有一个项目列表时,您可以在路由/#itemsList中显示它,并且每个项目详细信息页都可以在/#items/id上显示。整个导航都是为您处理的,您所要做的就是调用一些函数,或者粘贴当您到达那个url时要运行的代码。(示例修改后的http://documentcloud.github.com/backbone/#Router)

代码语言:javascript
复制
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的链接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7499757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档