VishwaKumar VishwaKumar - 3 months ago 36
AngularJS Question

Angularjs PATCH - undefined is not a function

I am trying to use angular $http.patch() function to call a API URl
As recommended by these answers - 1 and 2 i have set Content-Type headers to application/json in the config.

But still i get the error:


undefined is not a function


I am missing here something? Below is my code where the error is throwing up (Note: I have injected $http in my service and other methods GET,POST,PUT,DELETE are working fine):

deleteAll: function (data) { // custom service function
url = $rootScope.config.api.stack.add_stack;
return $http.patch(url,angular.toJson(data)); // error thrown here in firebug
}


AngularJs version: v1.2.16

Even i tried using the latest angularjs version but still its not woking

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

Answer

There is no patch method in $http. Use $http with config

$http({ method: 'PATCH', url: url, data: angular.toJson(data));

UPDATE: Lukas's answer below is more relevant for now.