如何删除Backbone.js URL中的#

Jas*_*vis 2 javascript backbone.js

我是Backbone.js的新手,还在学习它和我遇到的一个问题是网上的很多资源已经过时,而且自创建资源以来Backbone.js的情况发生了变化.

令我感到困惑的是,我看过一些教程,这些教程很干净, domain.com/useer/add但我经常看到domain.com/#useer/add

所以我的问题是,Backbone是否允许你在domain.com/useer/add没有#的情况下执行这样的URL ,或者是否需要另一个库?

Ray*_*_on 8

你可以像这样设置pushState = true.

Backbone.history.start({ pushState: true })
Run Code Online (Sandbox Code Playgroud)

请查看此链接以获取更多详细信息. http://artsy.github.io/blog/2012/06/25/replacing-hashbang-routes-with-pushstate/

  • 以这种方式执行操作的问题是,它要求您的服务器设置为处理这些URL.如果用户将"domain.com/useer/add"复制并粘贴到他们的浏览器中,他们应该看到该网站的相同页面/状态.因此,您需要服务器将任何请求URI定向回根并让JS呈现状态,或者您需要能够使用服务器端代码呈现相同的页面/状态.使用哈希爆炸的好处是,如果使用副本并粘贴地址,它通常可以在没有任何服务器端修改的情况下工作. (5认同)