CORS withCredentials - Unterstützung begrenzt?

8

Ich habe festgestellt, dass bestimmte Browser anscheinend nicht in CORS-Anfragen credentials unterstützen, zumindest unter bestimmten Bedingungen. Speziell in IE 10 führt der Versuch, xhr.withCredentials = true zu setzen, zu:

SCRIPT5022: InvalidStateError

und in Safari 5 (aber nicht 6) bekomme ich

INVALID_STATE_ERR: DOM Exception 11: An attempt was made to use an object that is not, or is no longer, usable.

erneut als Antwort auf die gleiche Aussage.

Sind das bekannte Probleme, oder richte ich mein XHR irgendwie falsch ein? Gibt es eine Liste, welche Browser withCredentials unterstützen?

    
Dan 29.10.2013, 18:54
quelle

1 Antwort

13

Der 16. August 2011 XHR-Entwurf gibt eine Regel an zum Festlegen von withCredentials :

  

Wenn festgelegt: Gibt eine Ausnahme INVALID_STATE_ERR aus, wenn der Status nicht GEÖFFNET ist oder das Flag send() wahr ist.

Der Entwurf vom 17. Januar 2012 ist jedoch großzügiger:

  

Wenn gesetzt: löst eine Ausnahme InvalidStateError aus, wenn der Status nicht UNSENT oder OFFEN ist oder wenn das Flag send() gesetzt ist.

Sie setzen wahrscheinlich withCredentials , bevor Sie .open aufrufen, was laut Spezifikation von 2011 nicht zulässig ist, aber von der Spezifikation für 2012 zugelassen wurde. Um beides zu erfüllen, verschieben Sie einfach Ihre Eigentumszuweisung nach Ihrem Aufruf auf .open .

    
apsillers 29.10.2013, 20:00
quelle

Tags und Links