我注意到某些浏览器似乎不支持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
的浏览器列表?
答案 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
后移动您的财产分配。