我正在使用骨干路由器
App.Router = Backbone.Router.extend({
routes: {
"todo": "todo"
},
todo: function() {
alert(1);
}
});
Backbone.history.start();
当我转到网址时这很有效:域名:port /#/ todo
我希望在URL中没有#的情况下工作,我尝试将pushState参数放在文档中。
Backbone.history.start({pushState: true});
这只是将#url重定向到非哈希值
domain:port /#/ todo(重定向到==>)域名:port / todo
但是当我直接访问此网址时
域:端口/ TODO
它不起作用:“不能GET / todo”。
有什么办法,我可以让这个URL在没有#的情况下工作吗?
答案 0 :(得分:3)
您需要编写服务器端代码来传递URL的页面。
使用pushState
只是告诉浏览器"我使用JS来更改页面的内容,使其与您要求提供此URL的内容相匹配,并且#34;。
它不会导致内容与该网址匹配,您必须将其作为单独的任务执行。