Angular JS TypeError: $http is not a function

Angular JS TypeError: $http is not a function

我通读了所有人们遇到 $http 不是函数的问题的帖子,看起来大部分是由于注入顺序错误造成的。

我的模块定义如下所示:

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) {

        });
    };
}
])

如有任何建议,我们将不胜感激。

makeCall 函数中删除 $http 参数,这将消除通过控制器注入的 $http 依赖项的存在。基本上当你在功能上添加它时,它被设置为 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) {

      }
   );
};