jQuery は HTTP OPTION リクエストを送信してプリフライト CORS を開始する必要がありますが、常に HTTP POST を送信します。これは POST であるため、ブラウザーは Access-Control-Allow-Origin または Access-Control-Allow-Method を取得せず、ブラウザーには選択の余地がありませんが、応答は 404 になります。
jQuery.ajax('https://domain.com/path', {
crossDomain: true,
data: postData,
error: function(jqXHR, status, errorThrown) {
//whatever
},
success: function(data, status, jqXHR) {
//whatever
},
type: "POST",
xhrFields: {
withCredentials: true
}
});