javascript - Angular 类型错误: Cannot read property 'get' of undefined

标签 javascript angularjs angular-ui-router

我正在使用$http.get。所有注入(inject)似乎都已到位,但我收到错误: 类型错误:无法读取未定义的属性“get”

已更新

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

    }

}

更新:

感谢您指出成功和注入(inject)。现在我面临this problem.

最佳答案

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

success(function(data, status, headers, config){});

所以当你这样做时:

success(function(data, $stateProvider){});

您正在将 $http 调用返回的状态对象分配给变量 $stateProvider。请参阅:https://docs.angularjs.org/api/ng/service/$http

此外,您的 success 方法末尾还有一个额外的括号 ):

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

应该是:

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

如果您在问题中实际提到您想要实现的目标,将会有所帮助。

关于javascript - Angular 类型错误: Cannot read property 'get' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28310243/

相关文章:

angularjs - 使用 Jasmine 和 Karma 在 AngularJS 中对具有依赖性的工厂进行单元测试失败

Javascript/Angular : wait for promise to be fulfilled before going to the next iteration in foreach Loop

angularjs - angularjs 中的 stateprovider - 不渲染 ui-view

angularjs - 为什么在检查 $pristine 或 $setDirty() 时在 ng-include 中形成 undefined ?

javascript - typeof foo ['bar' ] !== 'undefined' 与 foo 中的 'bar'

javascript - 使用rails_admin时向ckeditor添加插件

javascript - 从 ajax 抓取数据

angularjs - 使用 ui-router 更改状态 <a href ="/#/xyz> instead of <a ui-sref="Primary">

javascript - Angular ui router可选查询参数加载 Controller 两次

javascript - 选择的数据不正确