我需要使用$ 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';
至
var hasBody = action.method == 'POST' || action.method == 'PUT' || action.method == 'PATCH' || action.method == 'DELETE';
有没有更好的方法来覆盖此?就像您更改内容类型标头时一样,您可以执行以下操作:
$httpProvider.defaults.headers["delete"] = {'Content-Type': 'application/json;charset=utf-8'};
或类似的东西…我已经用谷歌搜索了一下,但也许我已经错过了一些明显的东西(不是第一次)。感谢您的任何帮助。
这可行。
$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); }); };