CORS-Post mit Preflight-Anfrage

Ich versuche, Dateien mithilfe von CORS auf einen Dienst in einer anderen Domäne hochzuladen, aber sie schlagen weiterhin fehl, da der Ursprung verweigert wird. Soweit ich sehen kann, werden die richtigen Header verwendet, um dies zu ermöglichen.

Javascript Anfrage:

  var xhr = new XMLHttpRequest();
  xhr.open('POST', "https://files.example.com", true);                                                                                                                            
  xhr.setRequestHeader('Content-Type', 'application/json');
  xhr.onreadystatechange = function () {
    if (this.status == 200 && this.readyState == 4) {
      console.log('response: ' + this.responseText);
    }
  };

  xhr.send();

Antwort von der Preflight-Anforderung OPTIONS:

Access-Control-Allow-Headers:Origin, Authorization, Content-Type
Access-Control-Allow-Methods:POST, OPTIONS
Access-Control-Allow-Origin:*
Content-Length:0
Content-Type:application/json
Date:Mon, 19 Nov 2012 23:30:21 GMT

Header für POST-Anfrage:

Cache-Control:no-cache
Content-Type:application/json
Origin:https://www.example.com
Pragma:no-cache
Referer:https://www.example.com
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.19 (KHTML, like     Gecko) Chrome/25.0.1325.0 Safari/537.19

Was zu dem Fehler führt:

XMLHttpRequest cannot load https://files.example.com. Origin https://www.example.com is not allowed by Access-Control-Allow-Origin.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage