Javascript 角度类型错误:无法读取属性';获取';未定义的

Javascript 角度类型错误:无法读取属性';获取';未定义的,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在使用$http.get。所有注射似乎都到位了,但我发现了一个错误: TypeError:无法读取未定义的属性“get” 已更新 app.controller("MyCtrl", ['$scope', '$state', '$http', function ($scope, $state, $http) { $scope.getEntryStateUrl = function(apiUrl){ $http.get(apiUrl).success(fun

我正在使用
$http.get
。所有注射似乎都到位了,但我发现了一个错误:
TypeError:无法读取未定义的属性“get”

已更新

app.controller("MyCtrl", ['$scope', '$state', '$http', function ($scope, $state, $http) {
        $scope.getEntryStateUrl = function(apiUrl){
            $http.get(apiUrl).success(function(data){/*...*/}));

    }

}
更新:


感谢您指出
成功
和注入。现在我要面对的是检查您在控制器函数之前声明的变量名。您缺少$stateProvider

app.controller("MyCtrl", ['$scope', '$state', '$http', function ($scope, $state, $http) {

您正在注入$state并尝试使用$stateProvider作为成功回调的参数?$http的成功方法自动分配成功的参数:

成功(函数(数据、状态、标题、配置){})

所以当你这样做的时候:

success(function(data, $stateProvider){});
您正在将$http调用返回的状态对象分配给变量$stateProvider。见:

此外,在成功方法的末尾还有一个额外的括号

$http.get(apiUrl).success(function(data){/*...*/}));
应该是:

$http.get(apiUrl).success(function(data){/*...*/});

如果您在问题中实际提到您试图完成的任务,这将有所帮助。

您的函数接收
inputUrl
,但您将
apiUrl
传递给
$http。get

您的语法有错误$作用域后面是函数中的$stateprovider,而不是注入器。您需要注入$stateProvider。现在我得到了
错误:[$injector:unpr]未知提供程序:$stateProviderProvider如果您没有在控制器中的任何位置使用该变量,只需删除名为
$stateProvider
的字符串和函数参数。如果您确实需要它,请确保在创建角度模块时引用ui路由器。。。谢谢你的链接。我忽略了一个事实,即您的变量需要被称为$state而不是$stateProvider,更新了我的答案。