When I make a DELETE request with AngularJS $resource
module, angular adds a Content-Type: application/xml
header to request headers. In AngularJS source code, there is a section that removes content-type request header when no parameters sent. But, I don't understand why this is happen, this doesn't works.
Here is how I make delete request:
$resource('/my/topics/:topicId').remove({ topicId: 1}, successFn, errorFn
And here is which headers browser
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:0
Content-Type:application/xml
Cookie:session=0a627145415440740d6cc8cd35d19ba3; __ngDebug=true
Host:localhost:9001
Origin:http://localhost:9001
Referer:http://localhost:9001/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36
Where that Content-Type
header come from?
EDIT: I'm using AngularJS 1.2.0rc1
I found workaround: https://github.com/angular/angular.js/issues/2149#issuecomment-22664501
I hope somebody merge this fix to angularjs master.