AngularJs ReferenceError: $http is not defined AngularJs ReferenceError: $http is not defined angularjs angularjs

AngularJs ReferenceError: $http is not defined


Probably you haven't injected $http service to your controller. There are several ways of doing that.

Please read this reference about DI. Then it gets very simple:

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


I have gone through the same problem when I was using

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

I have changed the above code to given below. Remember to include $http(2 times) as given below.

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

and It has worked well.


Just to complete Amit Garg answer, there are several ways to inject dependencies in AngularJS.


You can also use $inject to add a dependency:

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