6

我已經通讀了所有的帖子,其中人們得到這個問題,其中$ 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) { 

     }); 
    }; 
} 
]) 

任何建議,將不勝感激。

+2

試試這個$ scope.makeCall = function(){... –

回答

15

makeCall函數中刪除$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) { 

     } 
    ); 
}; 
相關問題