【发布时间】:2013-10-07 10:54:50
【问题描述】:
我有一个非常简单的 laravel 4 设置,带有 1 个用于旅行的控制器。
现在另一个简单的 Backbone 设置,带有路由器和路由到常规路由,如trips、trips/create。我想使用 pushState: true 来获得漂亮的 URL,但我似乎无法让它工作。当我尝试访问 URL 时,它会将我发送到服务器提供的带有我的 json 数据的页面。
但是,如果我输入:www.mysite.com/#trips,我将被“重定向”到www.mysite.com/trips,然后我针对此特定路由的方法就会触发。
这是我的路由器:
App.Router = Backbone.Router.extend({
routes: {
'': 'index',
'trips': 'trips',
'trips/create': 'newTrip',
'trips/:id': 'showTrip'
},
index: function(){
},
trips: function(){
console.log('All trips') ;
},
newTrip: function(){
console.log('New trip') ;
},
showTrip: function(id){
console.log('trips id:' + id) ;
}
});
【问题讨论】:
-
你的 pushState 启用了吗?
-
是的。我有 history.start({ pushState: true });
-
pushState的服务器端方面你做过了吗?服务器也必须知道所有路由。这是关于这个主题的另一个问题:stackoverflow.com/questions/11731998/… -
我有 laravel 处理的所有路由。当我直接输入它们时,我可以在浏览器中访问它们
标签: backbone.js laravel laravel-4