I want to have bookmarkable URLs that the browser can capture and handle. If I just use Backbone.history.start(), then I can use hash URLs, like /#accounts.
But I want URLs without the hashes, a la /accounts. But I can't get this to work using Backbone.history.start( { pushState: true } ) (as others have described it). My routes are straightforward, and taken directly from the documentation.
MyRouter = Backbone.Router.extend({ routes: { '/accounts': 'accounts', } });
I'm using Chrome (also tried with FF), and the behaviour is that an /accounts request goes straight to the server. Not being intercepted by Backbone first. Has anyone run into this? How do I get hash-less URL handling with Backbone?
Thanks in advance
I want to have bookmarkable URLs that the browser can capture and handle. If I just use Backbone.history.start(), then I can use hash URLs, like /#accounts.
But I want URLs without the hashes, a la /accounts. But I can't get this to work using Backbone.history.start( { pushState: true } ) (as others have described it). My routes are straightforward, and taken directly from the documentation.
MyRouter = Backbone.Router.extend({ routes: { '/accounts': 'accounts', } });
I'm using Chrome (also tried with FF), and the behaviour is that an /accounts request goes straight to the server. Not being intercepted by Backbone first. Has anyone run into this? How do I get hash-less URL handling with Backbone?
Thanks in advance
Share Improve this question edited May 23, 2017 at 12:25 CommunityBot 11 silver badge asked Nov 26, 2011 at 17:43 NutritioustimNutritioustim 2,7384 gold badges32 silver badges59 bronze badges 1- 1 The # is used for internal linking in html, all urls without # will go to server. You can still add routes, but all links with out # will go by server first – user920041 Commented Nov 26, 2011 at 17:50
1 Answer
Reset to default 17You would navigate to that url with js using router.navigate( "/accounts", true )
, not by links or entering the url yourself. To use links, you must bind a click event to them and prevent the default action and call navigate to the links href.
router
is an instance of Router