4

Web 服务器正在返回状态代码和描述以响应XmlHttp组件的请求。来自服务器的实际状态响应开始于:

HTTP/1.1 400 Not a valid http POST request

我可以通过提琴手跟踪看到:

替代文字

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

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

我可以在开发 IDE 中看到:

替代文字

我已经查看了IXMLHttpRequest的所有其他属性,但找不到任何包含响应的实际状态文本的属性。它甚至不在任何响应标头中:

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 设法读取实际状态文本:

替代文字

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

4

1 回答 1

2

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

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

于 2010-01-29T05:28:59.890 回答