How to remove GET params with AngularJS?

angularjs, get, url-routing

Solution

Using the `$location` service, you can remove the search param by assigning it a null value:

$location.search( 'status', null );

But you should note that, by default, this will reload the current route. If you don't want to reload the current route, you can disable that in your route definition:

$routeProvider.when( '/order/:id', {
  // yada yada...
  reloadOnSearch: false
});

But the `$routeUpdate` will still fire and can be reacted to.

Problem

``` #/order/123?status=success ``` hits the route `'/order/:id'` and takes to `OrderCtrl`. Once we access the `$routeParams.query`, we want to clear the url to `#/order/123`. How can this be achieved?

Original source