XmlHttp: как получить фактический текст statusText из объекта msxml.xmlhttp?

Веб-сервер возвращает код состояния и описание в ответ на запрос компонента XmlHttp. Реальный статус ответа от сервера начинается с:

HTTP/1.1 400 Not a valid http POST request

что я могу видеть, хотя след Fiddler:

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

Но когда я спрашиваю xmlHttp-запрос о статусе и statusText, он показывает мне "стандартное" описание текста статуса, а не фактический текст статуса:

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

который я вижу в разработке IDE:

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

Я обошел все остальные свойства 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 могут прочитать фактический текст состояния:

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

Как я могу получить фактический statusText от объекта Microsoft xmlHttp?

1 ответ

Решение

К сожалению, код 400 определен как неверный запрос как часть HTTP/1.1 RFC, а XMLHTTP (более вероятно, URLMON или WinHTTP) просто преобразует число и игнорирует переданный текст состояния. Поскольку строка состояния является частью протокола, а не заголовком ответа, то имеет смысл, что она не определена в списке заголовков ответов.

Однако я бы сказал, что браузеры отображают текст статуса только "правильно", потому что они отображают пользовательскую HTML-страницу, которая была отправлена ​​вместе с ней, и которая имеет этот текст как TITLE в элементе HEAD.

Другие вопросы по тегам