Web服务器返回状态代码和描述以响应
XmlHttp组件的请求.服务器的实际状态响应以:
HTTP/1.1 400 Not a valid http POST request
我可以在Fiddler追踪中看到:
alt text http://i49.tinypic.com/3325474.jpg
但是当我询问status和statusText的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一起发送.