Настроить модуль angularjs для отправки запроса на исправление
Я абсолютно не знаком с AngularJs. Я пытаюсь отправить запрос PATCH, используя Angularjs для API Django Tastypie. Мой код
var module = angular.module('myApp', []);
module.config(function ($httpProvider) {
});
function MyController($scope,$http)
{
$scope.patchCall=function(){
$http({
url: "/patchrequest/",
data:data,
method: "PATCH",
})
.success(function(data){
console.log("SUCCESS");
$scope.list = data.items;
}).error(function() {
console.log("FAIL");
});
}
}
Но когда я пытаюсь отправить запрос с использованием этого кода, я получаю сообщение об ошибке, что http.patch не является функцией. Скажите, как я могу настроить ng-app и службы для отправки запроса PATCH с помощью AngularJs. Я прочитал запрос PATCH, доступный в $resource, так что я устал и с $resource. Но найдите тот же результат. Пожалуйста, расскажите мне, как я могу настроить приложение с нуля, чтобы отправлять запросы CRUD, особенно запрос PATCH
Ответы
Ответ 1
Ваша ошибка не имеет смысла на основе кода, который вы показываете, но общая проблема с добавлением PATCH
в AngularJS заключается в том, что у него нет заголовка Content-Type по умолчанию для этого метода HTTP (который application/json;charset=utf-8
для PUT, POST и DELETE). Здесь моя конфигурация $httpProvider
для добавления поддержки патча:
module.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.patch = {
'Content-Type': 'application/json;charset=utf-8'
}
}])