gpt4 book ai didi

javascript - 主干路由器 : Get rid of# in the URL

转载 作者:行者123 更新时间:2023-11-30 12:45:40 26 4
gpt4 key购买 nike

我正在让主干路由器工作

App.Router = Backbone.Router.extend({
routes: {
"todo": "todo"
},
todo: function() {
alert(1);
}
});
Backbone.history.start();

当我转到 url 时效果很好:domain:port/#/todo

我希望它在 URL 中没有 # 的情况下工作,我尝试按照文档中的说明放置 pushState 参数。

    Backbone.history.start({pushState: true});

这只是将 # url 重定向到非散列的

domain:port/#/todo(重定向到==>)domain:port/todo

但是当我直接访问这个URL时

域:端口/待办事项

它不起作用:“无法获取/todo”。

有什么方法可以让这个 URL 在没有 # 的情况下工作吗?

最佳答案

您需要编写服务器端代码来传送 URL 的页面。

使用 pushState 只是告诉浏览器“我已经使用 JS 更改了页面的内容,因此它与您请求此 URL 时将获得的内容相匹配”。

它不会导致内容匹配该 URL,您必须将其作为一个单独的任务来完成。

关于javascript - 主干路由器 : Get rid of# in the URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com