我正在使用$http.get
。所有注射似乎都已到位,但我收到错误:
TypeError: Cannot read property 'get' of undefined
。
已更新
app.controller("MyCtrl", ['$scope', '$state', '$http', function ($scope, $state, $http) {
$scope.getEntryStateUrl = function(apiUrl){
$http.get(apiUrl).success(function(data){/*...*/}));
}
}
更新
感谢您指出success
和注射。现在我面临this problem.
答案 0 :(得分:2)
你是注入$ state并尝试使用$ stateProvider作为成功回调的参数? $ http的成功方法自动分配成功参数:
成功(功能(数据,状态,标题,配置){});
所以当你这样做时:
success(function(data, $stateProvider){});
您将$ http调用返回的状态对象分配给变量$ stateProvider。请参阅:https://docs.angularjs.org/api/ng/service/$http
在成功方法结束时,您还有一个额外的括号)
:
$http.get(apiUrl).success(function(data){/*...*/}));
应该是:
$http.get(apiUrl).success(function(data){/*...*/});
如果您在问题中真正提到了您想要完成的任务,那将会有所帮助。
答案 1 :(得分:0)
检查控制器功能之前声明的变量名称。你缺少$ stateProvider
app.controller("MyCtrl", ['$scope', '$state', '$http', function ($scope, $state, $http) {
答案 2 :(得分:0)
您的功能会收到inputUrl
,但您会将apiUrl
传递给$http.get