Nyx*_*nyx 5 javascript jquery backbone.js underscore.js
我正在尝试为我的网站实现搜索功能.当用户foobar在input框中键入搜索词并提交时,他将被重定向到http://mydomain.com/search?query=foobar.
问题::如何query从URL中获取GET参数,并将其发送到后端并以JSON响应的形式获取结果数组?我应该这样做吗?
我下面的当前尝试甚至不会导致search触发该功能.
路由器
var AppRouter = Backbone.Router.extend({
routes: {
'search?query=:query': 'search'
// ... and some other routes
},
search: function(query) {
this.photoList = new SearchCollection();
var self = this;
this.photoList.fetch({
data: {query: query},
success: function() {
self.photoListView = new PhotoListView({ collection: self.photoList });
self.photoListView.render();
}
});
}
});
var app = new AppRouter();
Backbone.history.start({
pushState: true,
root: '/'
});
Run Code Online (Sandbox Code Playgroud)
针对此问题,针对Backbone提出了几个问题.有一个适用于此的现有插件:
https://github.com/jhudson8/backbone-query-parameters
或者,我目前在模拟API中使用查询字符串参数来匹配Backbone的路由匹配.看起来像这样
路线
"/api/v2/application/:query"
询问
application: function(query) {
var params = $.deparam(query.slice(1));
// params.something...
}
Run Code Online (Sandbox Code Playgroud)
至于你手头的实际问题,你如何重定向index.html到支持pushState?
| 归档时间: |
|
| 查看次数: |
12371 次 |
| 最近记录: |