加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

补丁请求使用angularjs

发布时间:2020-12-17 09:15:51 所属栏目:安全 来源:网络整理
导读:我正在使用一个API,使用djang-tastypie作为后端,AngularJ用于前端.我使用 angularjs $http发送CRUD的请求. GET,POST,PUT一切都很好,但是当我尝试发送一个PATCH请求时,有错误方法PATCH没有被定义.我已经创建了一个api电话工厂,但PATCH请求不在那里工作. angul
我正在使用一个API,使用djang-tastypie作为后端,AngularJ用于前端.我使用 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',update: {method: 'PUT',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不是一个功能.
告诉我如何配置ng-app和服务以使用angularjs发送PATCH请求.

向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'
}
}])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读