我对AngularJs全新。我正在尝试使用Angularjs向Django Tastypie API发送PATCH请求。我的代码是
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和服务以使用AngularJs发送PATCH请求。我读取PATCH请求在$ resource中可用,所以我也厌倦了$ resource。但是找到相同的结果。请指导我如何从头开始配置应用程序以发送CRUD请求,特别是PATCH请求
答案 0 :(得分:20)
根据您显示的代码,您的错误没有意义,但向AngularJS添加PATCH
的常见问题是它没有该HTTP方法的默认Content-Type标头(对于PUT,POST和DELETE,它是application/json;charset=utf-8
。这是我添加补丁支持$httpProvider
的配置:
module.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.patch = {
'Content-Type': 'application/json;charset=utf-8'
}
}])