You need to enable push state for Backbone to lose hashes, if supported
Backbone.history.start({pushState: true});
Change To clarify, none of the libraries will force push to work in older browsers, which does not support it, they use fallback behavior. There are two ways to support older browsers: you use hashes as a Backbone, and this provides a more consistent experience. With pjax, you will have to load a URL that is not ideal within the framework of the baseline paradigm, resulting in the need to create several separate pages for each possible route that your base application will have.
source share