AngularJS - change $location silently - remove query string
try this
$location.url($location.path())
See documentation for more details about $location
You can always set the reloadOnSearch
option on your route to be false.
It will prevent the route from reloading if only the query string changes:
$routeProvider.when("/path/to/my/route",{
controller: 'MyController',
templateUrl: '/path/to/template.html',
//Secret Sauce
reloadOnSearch: false
});