A CORS POST request works from plain javascript, but why not with jQuery?

<span class="pln">$</span><span class="pun">.</span><span class="pln">ajax</span><span class="pun">(</span><span class="pln">url</span><span class="pun">,</span> <span class="pun">{</span><span class="pln">
    type</span><span class="pun">:</span><span class="str">"POST"</span><span class="pun">,</span><span class="pln">
    dataType</span><span class="pun">:</span><span class="str">"json"</span><span class="pun">,</span><span class="pln">
    data</span><span class="pun">:{</span><span class="pln">action</span><span class="pun">:</span><span class="str">"something"</span><span class="pun">},</span><span class="pln"> 
    success</span><span class="pun">:</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">data</span><span class="pun">,</span><span class="pln"> textStatus</span><span class="pun">,</span><span class="pln"> jqXHR</span><span class="pun">)</span> <span class="pun">{</span><span class="pln">alert</span><span class="pun">(</span><span class="str">"success"</span><span class="pun">);},</span><span class="pln">
    error</span><span class="pun">:</span> <span class="kwd">function</span><span class="pun">(</span><span class="pln">jqXHR</span><span class="pun">,</span><span class="pln"> textStatus</span><span class="pun">,</span><span class="pln"> errorThrown</span><span class="pun">)</span> <span class="pun">{</span><span class="pln">alert</span><span class="pun">(</span><span class="str">"failure"</span><span class="pun">);}</span>
<span class="pun">});</span>