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
You 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 ofRouter