我正在让主干路由器工作
App.Router = Backbone.Router.extend({
routes: {
"todo": "todo"
},
todo: function() {
alert(1);
}
});
Backbone.history.start();
当我转到 url 时,这效果很好:域:端口/#/todo
我希望它在 URL 中没有 # 的情况下工作,我尝试按照文档中提到的方式放置 PushState 参数。
Backbone.history.start({pushState: true});
这只是将 # url 重定向到非哈希值
域:端口/#/todo(重定向到==>)域:端口/todo
但是当我直接访问这个网址时
域:端口/todo
它不起作用:“无法获取/todo”。
有什么办法可以让这个网址在没有 # 的情况下工作吗?
您需要编写服务器端代码来交付 URL 的页面。
Using pushState
只是告诉浏览器“我已经使用 JS 来更改页面的内容,因此它与您请求此 URL 时得到的内容相匹配”。
它不会导致内容与该 URL 匹配,您必须将其作为单独的任务来完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)