Angular JS TypeError: $http is not a function
Asked Answered
C

1

6

I have read through all the posts where people get this issue where $http is not a function, and it looks like for the most part it is due to injections being done in the wrong order.

My module definition looks like this:

angular.module("app", []).controller("appCtrl", ['$scope','$http',
    function ($scope, $http) {

...

    $scope.makeCall= function ($http) {
         console.log("HERE");
         $http({ method: 'GET', url: <url }).
            then(function (response) {

                console.log(response.data);
                return response.data;
            }, function (response) {

        });
    };
}
])

Any suggestions would be greatly appreciated.

Colettecoleus answered 23/3, 2016 at 20:33 Comment(1)
try this $scope.makeCall= function () { ...Censurable
H
16

Remove $http parameter from makeCall function, which is killing the existence of $http dependency injected over controller. Basically when you are adding it on function, it is setted as undefined

$scope.makeCall= function () { //<-- removed $http dependency from here
   console.log("HERE");
   $http({ method: 'GET', url: 'url' })
      .then(function (response) {
            console.log(response.data);
            return response.data;
      }, function (response) {

      }
   );
};
Hanghangar answered 23/3, 2016 at 20:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.