【发布时间】:2012-08-11 21:09:18
【问题描述】:
我注意到一些网站提供了 Ajax-ian 搜索,它会刷新 URL 并显示使用的 GET 参数,例如:
someapp.com/search/Tokyo?price_min=80&price_max=300
作为 Ajax GET 请求的结果。
我想知道如何使用 Backbone.js 来实现这一点,我知道通过使用主干的 push 状态 这可能是可能的,对吗?
例如,我如何为 Place 模型定义这样的路由(假设相同的情况,范围为 /search)?
我会在哪里做呢?在路由器中还是在模型中?
感谢有关此主题的所有答案。我提前为没有提供任何代码而道歉,我通常会这样做,但这个练习将是我想做的概念证明,我希望骨干是适合这项工作的工具。
谢谢!
【问题讨论】:
-
谢谢,看起来很有趣,我去看看,你觉得这个答案怎么样:stackoverflow.com/questions/6659283/…
-
我觉得从路由器开始比较好。您导航(以编程方式或从地址栏)到
someapp.com/search/Tokyo?price_min=80&price_max=300,路由器解析您的参数,并通过collection.fetch({ data: $.param({ price_min: 80, price_max: 300}) });或通过您的集合的自定义sync方法使用这些参数获取您的集合。当然,你可以用相反的方式来做,但在这种情况下,处理书签链接会很困难。 -
首先感谢您的帮助!我想澄清一下,我正在做的是通过单击按钮来获取集合,即。 @collection.fetch({data: {author: 'author'}}),这很好用,但我的最终目标是:在浏览器中显示 GET URL,例如:myapp.com/s/posts?author=author 显示在浏览器 URL 框中,而不仅仅是在内部。我该怎么做?
标签: backbone.js