AngularJS $ http.get返回undefined,$ http()不是函数

时间:2014-06-09 15:30:55

标签: javascript angularjs coffeescript

我正在构建一个应用程序来动态加载和显示AngularJS中数据库的数据,但是当我尝试访问我的API(使用$ http()或$ http.get())时,我收到了错误信息。 $ http.get()错误:TypeError: undefined is not a function,$ http()错误:TypeError: object is not a function

在代码中发生此特定错误,以动态加载导航标签。

CoffeeScript中的代码:

p4pControllers.controller 'navCtrl', [
    '$routeParams'
    '$scope'
    '$http'
    ($http,$scope,$routeParams) ->
        $http(
        method:'GET'
        url:'http://p4p-api.snyx.nl/tables'
    ).success (data) ->
        $scope.tabs = data
        return
    return

    $http.get('http://p4p-api.snyx.nl/tables').success (data) ->
       $scope.tabs = data
       return
    return
]

有谁看到我在这里做错了什么?

1 个答案:

答案 0 :(得分:9)

使用数组表示法注入依赖项时,参数的顺序很重要:

在您的代码中:

['$routeParams',
 '$scope',
 '$http',
 function ($http, $scope, $routeParams)  {
    // $http argument        ==> $routeParams
    // $scope argument       ==> $scope (by coincidence)
    // $routeParams argument ==> $http
}

所以,基本上,你正在做$routeParams.get(),但$routeParams没有方法get()(也不是函数本身)。