如果没有 URL 中的 #,主干路由器将无法工作



我正在使用骨干布局管理器,车把和requirejs来使用HtML5的应用程序,它是一个单页应用程序。我正在使用backbone.history.start({ pushState:true }),如果我输入 URL 作为 localhost:9090/#abc,这有助于摆脱 #,但是如果我在浏览器中粘贴 URL localhost:9090/abc,那么它不会路由到正确的页面,而是转到 app.yaml 中的路由。

在单击事件时,我可以导航到URL localhost:9090/abc,但是当我直接在浏览器中复制粘贴时则无法。

我做了很多研究来解决这个问题,但没有结果。任何建议都会有所帮助。提前致谢

首先,您应该阅读有关 url 中的# - 片段标识符。简单地说:#之前的所有内容都在服务器上路由,#之后的所有内容都在浏览器上的javascript中路由。

因此,当您调用localhost:9090/#abc服务器时,会在/上查找资源,我猜这是您的JS应用程序并将其返回到浏览器。然后浏览器执行JS应用程序,该应用程序在#后检查标识符并决定显示的内容。

我也对你想做什么有点困惑 - 你是否试图摆脱#同时在JS应用程序中有历史支持?阿法克 这是做不到的。

相关内容

  • 没有找到相关文章

最新更新