title: $http.get() fires $locationChangeSuccess event?
body: <p>My understanding of <a href="https://code.angularjs.org/1.4.9/docs/api/ng/service/$http#usage" rel="nofollow"><code>$http</code></a> is that the service wraps around the browser's XMLHttpRequest to provide async callout capabilities. However, when I use <code>$http</code> together with <code>$location</code>, I am finding that calling <code>$http.get()</code> also fires <code>$locationChangeSuccess</code> when the request produces a success response.</p>
  
  <p>Why is this happening? Since the URL in my browser hasn't changed, I'm not expecting the <code>$locationChangeSuccess</code> event to be fired. The <a href="https://jsfiddle.net/vLaxjk5L/1/" rel="nofollow">controller below</a> illustrates the problem.</p>
  
  <pre><code>angular.module('fiddle', [])
    .controller('MainController', ['$scope', '$http', '$location'
      function($scope, $http, $location) {
        $scope.numberOfLocationChanges = 0;
  
        // Constructor
        $scope.__init__ = function() {            
          $http.get('/').then(
            function success(response) {
              console.log('success: %o', response);
            },
            function error(response) {
              console.log('error: %o', response);
            }
          );
        };
  
        $scope.handleLocationChangeSuccess = function() {
          $scope.numberOfLocationChanges++;
        };
  
        // Bind event handlers
        $scope.$on('$locationChangeSuccess',
          $scope.handleLocationChangeSuccess);
  
        // Call the constructor
        $scope.__init__();
      }
    ]);
  </code></pre>
  
  <p>In case it matters, after removing the <code>$location</code> service the <code>$locationChangeSuccess</code> is no longer fired.</p>