配置angularjs模块发送补丁请求

时间:2013-11-30 21:05:49

标签: javascript angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

我对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请求

1 个答案:

答案 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'
    }
}])
相关问题