AngularJs ReferenceError: $ http non è definito


199

Ho la seguente funzione angolare:

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

Ma ogni volta che viene chiamata questa funzione, sto entrando ReferenceError: $http is not definednella mia console. Qualcuno può aiutarmi a capire cosa sto facendo di sbagliato qui?

Risposte:



81

Ho riscontrato lo stesso problema durante l'utilizzo

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

Ho modificato il codice sopra riportato di seguito. Ricorda di includere $ http (2 volte) come indicato di seguito.

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

e ha funzionato bene.


4

Solo per completare la risposta di Amit Garg , ci sono diversi modi per iniettare dipendenze in AngularJS.


Puoi anche usare $injectper aggiungere una dipendenza:

var MyController = function($scope, $http) {
  // ...
}
MyController.$inject = ['$scope', '$http'];
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.