javascript - traslado - ¿Cuál es una forma limpia de enviar un cuerpo con la solicitud DELETE?
tramites para repatriar un cadaver (3)
Debería poder llamar a ''eliminar'' en su recurso como se explica en la documentación https://docs.angularjs.org/api/ngResource/service/ $ resource
Necesito enviar un cuerpo de solicitud con mis solicitudes DELETE usando $resource
La única manera que podía ver para hacer esto era cambiar:
https://github.com/angular/angular.js/blob/master/src/ngResource/resource.js
Desde
var hasBody = action.method == ''POST'' || action.method == ''PUT'' || action.method == ''PATCH'';
A
var hasBody = action.method == ''POST'' || action.method == ''PUT'' || action.method == ''PATCH'' || action.method == ''DELETE'';
¿Hay una mejor manera de anular esto? Al igual que cuando modifica el encabezado de tipo de contenido, puede hacerlo:
$httpProvider.defaults.headers["delete"] = {''Content-Type'': ''application/json;charset=utf-8''};
O algo similar ... He buscado en Google, pero tal vez me he perdido algo obvio (no por primera vez). Gracias por cualquier ayuda por adelantado.
Esto funciona.
$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);
});
};
Puede inyectar el componente $http
( http://docs.angularjs.org/api/ng.%24http#Usage ) en uno de sus controladores y usándolo de la siguiente manera:
$http({method: ''DELETE'', url: ''www.url.com'', headers: {''X-MY-HEADER'': ''MY_VALUE''}});
Espero que esto sea lo que esperabas.