CORS withCredentials - 支持有限吗?

时间:2013-10-29 18:54:02

标签: javascript xmlhttprequest cors

我注意到某些浏览器似乎不支持CORS请求中的问题,至少在某些情况下是这样。具体来说,在IE 10中,尝试设置xhr.withCredentials = true会导致:

SCRIPT5022: InvalidStateError

在Safari 5中(但不是6)我得到了

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

再次回应同样的陈述。

这些已知的问题,还是我以某种方式设置了我的XHR?是否有支持withCredentials的浏览器列表?

1 个答案:

答案 0 :(得分:14)

August 16, 2011 XHR draft指定了设置withCredentials的规则:

  

设置:如果状态未打开或INVALID_STATE_ERR标志为真,则抛出send()异常。

然而,January 17, 2012 draft更宽松:

  

设置:如果状态不是UNSENT或OPENED,或者设置了InvalidStateError标志,则抛出send()异常。

您可能在致电withCredentials之前设置了.open,这是2011规范禁止但2012规范允许的。要同时遵守这两项规定,只需在致电.open后移动您的财产分配。