Javascript 无法读取属性';获取';未定义和$http的函数不是一个函数

Javascript 无法读取属性';获取';未定义和$http的函数不是一个函数,javascript,angularjs,Javascript,Angularjs,我是Angular的新手,在将$http注入以下控制器时遇到问题: function(){ angular.module('nps-settings-support-tools', []) .controller('SettingsSupportToolsController', [ '$scope', 'Settings', 'gettextCatalog', '$q', '$timeout', '$rootScope', 'SweetAlert

我是Angular的新手,在将
$http
注入以下控制器时遇到问题:

function(){
    angular.module('nps-settings-support-tools', [])
        .controller('SettingsSupportToolsController', [ '$scope', 'Settings', 'gettextCatalog', '$q', '$timeout',
            '$rootScope', 'SweetAlert', 'CurrentUser', '$http',
            function($scope, Settings, gettextCatalog, $q, UploadFile, $timeout, $rootScope, SweetAlert, CurrentUser, $http) {
                var apiUrl = '/api/v1/';
我读到Angular非常关心注射顺序,但我仔细检查了顺序是否正确。然而,当我跑步时:

$scope.doTodo = function() {
    return $http.get(apiUrl + 'support?tool=digest&type=todo');
};
我在控制台中收到以下错误:

TypeError: Cannot read property 'get' of undefined
    at Scope.$scope.doDetractors
因此,考虑到我的记忆不正确,我还尝试了:

return $http({url: apiUrl + 'support?tool=digest&type=responses', method: 'GET'});
这显然也失败了,因为
$http
似乎没有定义,但我看不出哪里出了问题,因为大多数问题/答案都是关于注射顺序和通过顺序不正确的注射访问
$http
,而我没有这样做(据我所知)


有人知道发生了什么吗?

您在控制器函数中有参数UploadFile,但在字符串数组中没有参数UploadFile。

请再次检查,有9个模块被注入,函数中有10个参数,所以您也犯了同样的错误:pYep,我现在明白了,谢谢:)真是个傻瓜!双重检查是不够的,三重检查!!!