AngularJs ReferenceError:$http未定义

AngularJs ReferenceError:$http未定义,angularjs,javascript-framework,angular-http,Angularjs,Javascript Framework,Angular Http,我有以下的角函数: $scope.updateStatus = function(user) { $http({ url: user.update_path, method: "POST", data: {user_id: user.id, draft: true} }); }; 但无论何时调用此函数,我都会得到ReferenceError:$http未在我的控制台中定义。有人能帮我理解我做错了什么吗?可能您没有向控制器

我有以下的角函数:

$scope.updateStatus = function(user) {    
    $http({
        url: user.update_path, 
        method: "POST",
        data: {user_id: user.id, draft: true}
    });
};

但无论何时调用此函数,我都会得到
ReferenceError:$http未在我的控制台中定义。有人能帮我理解我做错了什么吗?

可能您没有向控制器注入
$http
服务。有几种方法可以做到这一点

请阅读。然后它变得非常简单:

function MyController($scope, $http) {
   // ... your code
}

我在使用时也遇到过同样的问题

    myApp.controller('mainController', ['$scope', function($scope,) {
        //$http was not working in this
    }]);
我已将上述代码更改为下面给出的代码。记住包括$http(2次),如下所示

 myApp.controller('mainController', ['$scope','$http', function($scope,$http) {
      //$http is working in this
 }]);
它工作得很好。

最后,有几种方法可以在AngularJS中注入依赖项


您还可以使用添加依赖项:

var MyController = function($scope, $http) {
  // ...
}
MyController.$inject = ['$scope', '$http'];

谢谢我想知道Angular自己的文档()为什么会有这个错误。