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,更新了我的答案。