我是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");
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用此代码发送请求时,我收到的错误是http.patch不是函数.告诉我如何配置ng-app和服务以使用AngularJs发送PATCH请求.我读取PATCH请求在$ resource中可用,所以我也厌倦了$ resource.但是找到相同的结果.请指导我如何从头开始配置应用程序以发送CRUD请求,特别是PATCH请求
javascript angularjs angularjs-directive angularjs-scope angularjs-ng-repeat
我正在使用djang-tastypie作为后端和AngularJs作为前端的API.我正在使用angularjs $ http向CRUD发送请求.GET,POST,PUT一切都很好,但是当我尝试发送PATCH请求时,会出现错误方法PATCH未定义.我已经创建了一个有角度的api调用工厂,但PATCH请求不在那里工作.
angular.module('tastypieModule', ['ngResource']).
factory('apiCall', function($http, $resource) {
delete $http.defaults.headers.common['X-Requested-With'];
var apiCall = $resource('/api/v1/:type/:id/',
{type: '@type', username: '@userName', api_key: '@api_key', user: '@userID', id: '@id'},
{
get: {method: 'GET'},
post: {method: 'POST', headers: {'Content-Type': 'application/json'}},
del: {method: 'DELETE', headers: {'Content-Type': 'application/json'}},
update: {method: 'PUT', headers: {'Content-Type': 'application/json'}},
pupdate:{method:'PATCH',headers: {'Content-Type': 'application/json'}}
}
);
return apiCall;
});
function MyCtrl($scope,$resource){
$scope.edit=function(){
id=$scope.E_id
$http.pupdate('/api/v1/quizsetting/'+id+'/', editedquizsetting).
success(function(data, status) {
$scope.status = status;
$scope.data = data;
$scope.editQuizSettingModal = false;
//$scope.quizsettinglist.objects[$scope.e_quizsettingindex]=data;
$(".message").append("object has been created successfully");
}) …Run Code Online (Sandbox Code Playgroud)