Hey so for POST/PUT requests simply doing
$http.post(url, body, headers)
worked fine
But with DELETE it gets my body, but completely ignores my headers...
$http.delete(url, body, headers)
Sending a message body on a DELETE request might cause some servers to reject the request. But you still can send data to the server using URL parameters. This is usually an ID of the resource you want to delete.
In Angular 9+ you will need to this. http. request('DELETE', 'url', { body: ... }) . In my case the uppercase method string was necessary.
get(url) . then(function (response) { console. log('get',response) }) . catch(function (data) { // Handle error here });
The documentation is terrible, with v1.3.20 you need to do:
$http.delete(url, {data: {...}, headers: {...}})
... which is completely different than post/put for some reason.
The two key elements to include in your options are the data
an Content-Type
(as part of your headers
object). Your request would look something like:
$http.delete(url, {data: {...}, headers: {'Content-Type': 'application/json;charset=utf-8'}})
Credit goes to @Harshit Anand for his on another SO post.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With