8

我注意到某些浏览器似乎不支持 CORS 请求中的 withCredentials,至少在某些情况下是这样。具体来说,在 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吗?

4

1 回答 1

14

2011年8 月 16 日的 XHR 草案指定了设置规则withCredentials

设置时:INVALID_STATE_ERR如果状态不是 OPENED 或send()标志为真,则抛出异常。

但是,2012 年 1 月 17 日的草案更为宽松:

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

您可能withCredentials在调用之前进行设置.open,这是 2011 规范不允许但 2012 规范允许的。要同时满足这两个要求,只需在致电 后移动您的财产分配.open

于 2013-10-29T20:00:20.927 回答