title: Content-Type header not being set with Angular $http
body: <p>I'm trying to make a cross-origin POST request using Angular $http with the following code.</p>
  
  <pre><code>//I've tried setting and removing these http config options
  $http.defaults.useXDomain = true;
  delete $http.defaults.headers.common['X-Requested-With'];
  $http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded';
  
  //Basic request, with some private headers removed
  return $http({
      method: 'POST',
      //withCredentials:true,
      headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
      params: params,
      url: url
  });
  </code></pre>
  
  <p>The preflight OPTIONS request gets a <code>200 OK</code>, but the subsequent POST receives a <code>400 Bad Request</code> response. Looking at the trace in Chrome's debug window, I do not see a <code>Content-Type: application/x-www-form-urlencoded; charset=UTF-8</code> header for the POST. I assume this is why the the server is returning a Bad Request response.</p>
  
  <p>I'm setting some other custom headers that I have omitted form the code above, and they are being sent and displayed fine.</p>
  
  <p>I should also mention that I can make this request using the Advanced Rest Client app for Chrome and receive the correct response. (An access token)</p>
  
  <p>I have also tried just doing a straight-up XMLHttpRequest(), but I get the same errors.</p>
  
  <p>Any insight on why my Content-Type header is not being set?</p>