Cors XDomainRequest-错误时获取响应正文

Cors XDomainRequest-错误时获取响应正文,cors,xdomainrequest,Cors,Xdomainrequest,我在XDomainRequestonerror处理程序中遇到问题。出现错误时,我似乎无法获取HTTP响应的主体(通过xdr.responseText)。成功的请求(200 OK)工作正常 请求如下: POST http://localhost/path HTTP/1.1 Accept: */* Origin: http://localhost Accept-Language: cs-CZ Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0

我在XDomainRequest
onerror
处理程序中遇到问题。出现错误时,我似乎无法获取HTTP响应的主体(通过
xdr.responseText
)。成功的请求(200 OK)工作正常

请求如下:

POST http://localhost/path HTTP/1.1
Accept: */*
Origin: http://localhost
Accept-Language: cs-CZ
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: localhost
Content-Length: 34
Connection: Keep-Alive
Pragma: no-cache

[Data]
以下是回应:

HTTP/1.1 400 Bad Request
Content-Length: 54
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
Access-Control-Allow-Origin: *
Date: Mon, 30 Apr 2012 20:57:32 GMT

[Data]

有可能获得响应正文吗?

不幸的是,在出错时无法获得响应正文。您只知道发生了一个错误。请看我的相关问题:


一种可能的解决方法(如果您可以控制服务器)是始终返回HTTP 200,但在响应正文中包含错误代码。

它在Chrome(使用XmlHttpRequest)中如何工作?这是XDomainRequest的唯一限制还是Chrome实现错误?很遗憾,我目前无法访问Windows box,但我可以验证Chrome是否确实返回了正文。请注意,IE的XDomainRequest与Chrome的XmlHttpRequest(级别2)是不同的对象,因此他们不必在行为上达成一致。IE10将支持XmlHttpRequest和CORS。即使出现错误,我仍然可以得到响应。