我是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请求
根据您显示的代码,您的错误没有意义,但添加PATCH
到AngularJS的一个常见问题是它没有该HTTP方法的默认Content-Type标头(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' } }])