문제

Djang-tastypie를 사용하여 Front End 용 Angularjs를 사용하여 API를 사용하고 있습니다.Angularjs $ HTTP를 사용하여 요청을 보내고 있습니다.가져 오기, 게시물, 모든 것이 잘되면 패치 요청을 보내려고 할 때 오류 메소드 패치가 정의되지 않았습니다.API 호출의 공장을 각도로 만들었지만 패치 요청은 거기에서 작동하지 않습니다.

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");
    })
    .
     error(function(data, status) {
        $scope.data = data || "Request failed";
        $scope.status = status;        
    });
};
}
.

이 HTML 코드

<div ng-app="myApp">
<div ng-controller="MyCtrl">
<button type="button" ng-click="edit()">Edit</button>
</div></div>
.

콘솔 에서이 코드를 사용하여 경로 요청을 보내면 http.patch가 함수가 아닙니다. Angularjs를 사용하여 패치 요청을 보내기 위해 NG-APP 및 서비스를 구성하는 방법을 알려주십시오.

도움이 되었습니까?

해결책

AngularJS에 패치를 추가하는 공통된 문제는 해당 HTTP 메소드 (응용 프로그램 / JSON; CHARSET= PUT, POST 및 DELETE에 대한 CHARSET= UTF-8)에 대한 기본 콘텐츠 형 헤더가 없습니다.그리고 이것들은 $ httpprovider의 내 구성이 패치 지원을 추가하는 것입니다.

module.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.patch = {
    'Content-Type': 'application/json;charset=utf-8'
}
}])
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top