Domänenübergreifende AJAX-Preflight-Prüfung bei fehlgeschlagener Origin-Prüfung

9

Das scheint nicht zu funktionieren:

%Vor%

Wenn ich es in jsfiddle starte, wird eine OPTIONS -Anforderung (gemäß den Chrome-Debug-Tools) ausgelöst, die wie folgt aussieht:

%Vor%

Und dann (gemäß den Chrome-Debug-Tools) gibt mein lokaler Server die folgenden Header zurück:

(zur besseren Lesbarkeit manuell umformatiert)

%Vor%

Und dann in der Konsole bekomme ich eine Fehlermeldung wie folgt:

%Vor%

Aber die Überschrift Access-Control-Allow-Origin erscheint identisch mit der Antwort meines Servers auf die Preflight-Anfrage. Welches Stück fehlt mir hier an diesem Puzzle?

    
Alex Wayne 14.09.2011, 22:57
quelle

2 Antworten

4

OHHHHH, ok, ich habe das endlich herausgefunden ...

Anscheinend sind die preflight OPTIONS response-Header nicht der einzige Ort, der sie benötigt. Sie müssen diese Header auch in die Antwort für den eigentlichen Inhalt aufnehmen. Ich hatte nur diese Header auf dem Preflight kommen und dachte, dass das war das einzige "Ticket" benötigt.

Also habe ich der GET-Anfrage für das eigentliche Asset die gleichen Header hinzugefügt und jetzt funktioniert alles super. Vermutlich habe ich das in den Unterlagen verpasst.

    
Alex Wayne 15.09.2011, 17:16
quelle
1

Sie müssen Origin in den Abschnitt Zugriffskontrolle-Zulassen-Header einfügen, da Origin nicht als einfacher Header betrachtet wird (IMO sollte die Spezifikation Origin in der Liste der einfachen Header enthalten).

    
monsur 15.09.2011 15:11
quelle

Tags und Links