我正在尝试为我的Backbone / NodeJS应用程序实现pushstate。如果我从浏览器本身转到以下路径/testRoute/123
,则从另一个视图中,/testRoute/123
的关联视图会加载。
但是,如果我在地址栏中手动输入/testRoute/123
,浏览器会返回ID为“123”的对象的原始JSON Feed。
如何在手动输入网址时强制Backbone加载视图?
答案 0 :(得分:0)
这不是Backbone可以做的事情(hense为什么默认情况下禁用pushState)。您必须设置服务器以将这些请求重定向到根目录,以便HTML加载和Backbone可以处理路由。
中说明请注意,使用真实网址要求您的网络服务器能够正确呈现这些网页,因此也需要进行后端更改。例如,如果您的路径为/ documents / 100,则如果浏览器直接访问该网址,则您的网络服务器必须能够提供该网页。对于完整的搜索引擎可抓取性,最好让服务器为页面生成完整的HTML ...但如果它是一个Web应用程序,只需呈现与根URL相同的内容,并使用Backbone填充其余内容视图和JavaScript工作正常。
答案 1 :(得分:0)
如果@ idbehold的答案不够具体,here's a more detailed response to the same question。
我强烈建议在回复的底部查看这些链接,因为它们正是我在面对同样麻烦时所寻找的......