使用DELETE请求发送正文的干净方法是什么?

pau*_*lth 23 javascript angularjs angular-resource

我需要使用$ resource发送一个带有DELETE请求的请求体

我能看到这样做的唯一方法就是改变:

https://github.com/angular/angular.js/blob/master/src/ngResource/resource.js

var hasBody = action.method == 'POST' || action.method == 'PUT' || action.method == 'PATCH';
Run Code Online (Sandbox Code Playgroud)

var hasBody = action.method == 'POST' || action.method == 'PUT' || action.method == 'PATCH' || action.method == 'DELETE';
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来覆盖这个?就像改变内容类型标题一样,您可以这样做:

$httpProvider.defaults.headers["delete"] = {'Content-Type': 'application/json;charset=utf-8'};
Run Code Online (Sandbox Code Playgroud)

或类似的东西......我用谷歌搜索了这个,但也许我错过了一些明显的东西(不是第一次).在此先感谢您的帮助.

Sim*_*mba 26

这有效.

$scope.delete = function(object) {
    $http({
        url: 'domain/resource',
        method: 'DELETE',
        data: {
            id: object.id
        },
        headers: {
            "Content-Type": "application/json;charset=utf-8"
        }
    }).then(function(res) {
        console.log(res.data);
    }, function(error) {
        console.log(error);
    });
};
Run Code Online (Sandbox Code Playgroud)

  • 好的,我编辑了你的答案,你应该添加正确的标题.现在它工作:) (2认同)