XmlHttp:如何从msxml.xmlhttp对象获取实际statusText?

Web服务器返回状态代码和描述以响应
XmlHttp组件的请求.服务器的实际状态响应以:

HTTP/1.1 400 Not a valid http POST request

我可以在Fiddler追踪中看到:

alt text http://i49.tinypic.com/3325474.jpg

但是当我询问statusstatusText的xmlHttp请求时,它向我显示状态文本的“标准”描述,而不是实际的状态文本:

xmlHttp.status: 200
xmlHttp.statusText: "Bad Request"

我可以在开发IDE中看到:

alt text http://i50.tinypic.com/28lghvq.jpg

我已经戳了IXMLHttpRequest的所有其他属性,我找不到任何包含响应的实际状态文本.它甚至没有在response headers中的任何一个:

Server: ASP.NET Development Server/8.0.0.0
Date: Thu, 28 Jan 2010 21:03:16 GMT
X-AspNet-Version: 2.0.50727
X-LSI-Proxy-Identificaton: {65B76AB2-8A28-4A2B-B282-7E1FDC9DBCA1}
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/xml; charset=utf-8
Content-Length: 4652
Connection: Close

Internet Explorer,Chrome和FireFox设法读取实际状态文本:

alt text http://i46.tinypic.com/azfc6b.jpg

如何从Microsoft xmlHttp对象获取实际statusText?

最佳答案 遗憾的是,代码400被定义为错误请求,作为HTTP / 1.1 RFC的一部分,XMLHTTP(更可能是URLMON或WinHTTP)只是转换数字并忽略传递的状态文本.由于状态行是协议的一部分而不是响应头,因此有意义的是它没有在响应头列表中定义.

但是我认为浏览器只是“正确”显示状态文本,因为它们显示的是自定义HTML页面,它与HEAD元素中的TITLE一起发送.

点赞