我开始编写新的应用程序并希望将其设为完整的ajax样式:)
我正在使用Jquery来发出ajax请求。 主JS文件从按下的链接获取一些变量,并根据该链接转到一些php文件抓取一些数据返回并将所有内容放在预先准备好的html标签中。
这是我看到此应用的方式。
现在我已经找到了一些解决方案,使回复和前进按钮开始工作,但在这些解决方案中,他们的脚本会转到预定义的页面并根据一些常量ID读取一些数据所以我不喜欢它。
我想要的是......
有解决方案可以这样工作吗?
答案 0 :(得分:3)
我过去曾使用jQuery BBQ: Back Button & Query Library来达到这个目的。
具体来说,basic AJAX示例看起来像是你所追求的。 examples的其余部分也是最优秀的。
答案 1 :(得分:2)
我认为你应该看一下backbone.js http://documentcloud.github.com/backbone/。它有一个基于路由器的应用程序结构,其中每个路由实际上是一个不同的/ #ed 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的链接。