title: jQuery AJAX POST request OK in Chrome, fails with 415 in Firefox
body: <p>I am building an interface for a remote XML service.  Here is my $.ajax function:</p>
  
  <pre><code>this.sendInput = function () {
      jQ.ajax({'url': URL, 
               'type': 'POST', 
               'data': app._CONTENT, 
               'contentType': 'text/xml', 
               'dataType': 'XML', 
               'error': function (data) { app.processError(data); }, 
               'success': function(data){ app._OUTPUT = data; app.processOutput(); }});
  };
  </code></pre>
  
  <p>When I send this request to the server with Chrome, I get a 200 response with the following headers:</p>
  
  <pre><code>Accept:application/xml, text/xml, \*/\*; q=0.01
  Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
  Accept-Encoding:gzip,deflate,sdch
  Accept-Language:en-US,en;q=0.8
  Cache-Control:no-cache
  Connection:keep-alive
  Content-Length:930
  Content-Type:text/xml
  Host:host.com
  Origin:http://elsewares.org
  Pragma:no-cache
  Referer:http://blah.org
  User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17
  </code></pre>
  
  <p>When I send the same request in Firefox 12, I get a 415 error with the following request headers:</p>
  
  <pre><code>Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  Accept-Encoding gzip, deflate
  Accept-Language en-US,en;q=0.5
  Access-Control-Request-He...    content-type
  Access-Control-Request-Me...    POST
  Cache-Control   no-cache
  Connection  keep-alive
  Host    host.com
  Origin  http://host.org
  Pragma  no-cache
  User-Agent  Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:18.0) Gecko/20100101 Firefox/18.0 FirePHP/0.7.1
  x-insight   activate
  </code></pre>
  
  <p>I should note that the server is set to allow Access-Control-Request-Headers: Content-Type, so we can set the body of the POST request as XML.</p>
  
  <p>Any ideas what the mismatch is here?  Firefox is a MUST for this to work in the setting where it's going to be used.</p>
  
  <p>Here is the body of the request:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
      &lt;MELTSinput&gt;
          &lt;initialize&gt;
              &lt;SiO2&gt;48.68&lt;/SiO2&gt;
              &lt;TiO2&gt;1.01&lt;/TiO2&gt;
              &lt;Al2O3&gt;17.64&lt;/Al2O3&gt;
              &lt;Fe2O3&gt;0.89&lt;/Fe2O3&gt;
              &lt;Cr2O3&gt;0.0425&lt;/Cr2O3&gt;
              &lt;FeO&gt;7.59&lt;/FeO&gt;
              &lt;MnO&gt;0.00&lt;/MnO&gt;
              &lt;MgO&gt;9.10&lt;/MgO&gt;
              &lt;NiO&gt;0.0&lt;/NiO&gt;
              &lt;CoO&gt;0.0&lt;/CoO&gt;
              &lt;CaO&gt;12.45&lt;/CaO&gt;
              &lt;Na2O&gt;2.65&lt;/Na2O&gt;
              &lt;K2O&gt;0.03&lt;/K2O&gt;
              &lt;P2O5&gt;0.08&lt;/P2O5&gt;
              &lt;H2O&gt;0.20&lt;/H2O&gt;
          &lt;/initialize&gt;
          &lt;calculationMode&gt;equilibrate&lt;/calculationMode&gt;
          &lt;title&gt;alpha testing&lt;/title&gt;
          &lt;constraints&gt;
              &lt;setTP&gt;
                  &lt;initialT&gt;1200&lt;/initialT&gt;
                  &lt;initialP&gt;1000&lt;/initialP&gt;
              &lt;/setTP&gt;
          &lt;/constraints&gt;
      &lt;/MELTSinput&gt;
  </code></pre>