我对AngularJs完全陌生。我正在尝试使用Angularjs向Django Deliciouspie 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请求
根据所显示的代码,您的错误没有任何意义,但是添加PATCH到AngularJS中的一个常见问题是它没有该HTTP方法的默认Content- Type标头(application/json;charset=utf-8用于PUT,POST和DELETE) )。这是$httpProvider添加补丁支持的配置:
PATCH
application/json;charset=utf-8
$httpProvider
module.config(['$httpProvider', function($httpProvider) { $httpProvider.defaults.headers.patch = { 'Content-Type': 'application/json;charset=utf-8' } }])