AngularJs ReferenceError: $ http tanımlanmamış


199

Aşağıdaki Açısal işlevim var:

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

Ancak bu işlev her çağrıldığında ReferenceError: $http is not definedkonsoluma giriyorum. Birisi burada neyi yanlış yaptığımı anlamama yardımcı olabilir mi?

Yanıtlar:



81

Ben kullanırken aynı sorunu yaşadım

    myApp.controller('mainController', ['$scope', function($scope,) {
        //$http was not working in this
    }]);

Yukarıdaki kodu aşağıda verilen şekilde değiştirdim. Aşağıda belirtildiği gibi $ http (2 kez) eklemeyi unutmayın.

 myApp.controller('mainController', ['$scope','$http', function($scope,$http) {
      //$http is working in this
 }]);

ve iyi çalıştı.


4

Amit Garg cevabını tamamlamak için AngularJS'ye bağımlılıkları enjekte etmenin birkaç yolu var.


$injectBir bağımlılık eklemek için de kullanabilirsiniz :

var MyController = function($scope, $http) {
  // ...
}
MyController.$inject = ['$scope', '$http'];
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.