javascript - Angular JS 类型错误 : $http is not a function

标签 javascript angularjs promise angularjs-controller angularjs-http

我已经阅读了所有人们遇到 $http 不是函数的问题的帖子,看起来大部分是由于注入(inject)顺序错误所致。

我的模块定义如下:

angular.module("app", []).controller("appCtrl", ['$scope','$http',
    function ($scope, $http) {

...

    $scope.makeCall= function ($http) {
         console.log("HERE");
         $http({ method: 'GET', url: <url }).
            then(function (response) {

                console.log(response.data);
                return response.data;
            }, function (response) {

        });
    };
}
])

如有任何建议,我们将不胜感激。

最佳答案

makeCall 函数中删除 $http 参数,这将消除通过 Controller 注入(inject)的 $http 依赖项的存在。基本上当你在函数上添加它时,它被设置为 undefined

$scope.makeCall= function () { //<-- removed $http dependency from here
   console.log("HERE");
   $http({ method: 'GET', url: 'url' })
      .then(function (response) {
            console.log(response.data);
            return response.data;
      }, function (response) {

      }
   );
};

关于javascript - Angular JS 类型错误 : $http is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36188176/

相关文章:

node.js - .then() 中出现意外的 promise 值

javascript - 如何使用 mongoose、mocha 和 chai 编写单元测试来向 mongodb 插入和检索对象?

javascript - SharePoint 2013 客户端上下文 : How to DELETE specific list items by MULTIPLE CONDITION filter?

javascript - 只改变一个 div 的 z-index 而不是它的每个 child

javascript - 尝试使用 HTML5 文件系统将 canvas PNG 数据 url 保存到磁盘,但是当我检索为 URL 时,它无效

angularjs - 如何测试 Angular 事件?

javascript - Angularjs 组合框键值

javascript - 为什么我无法访问 javascript 中的对象值

javascript - 具有动态长度的 Angular 中的 Bootstrap Accordion

javascript - 使用 jQuery Mobile 准备好文档后将选择更改为非 native 菜单