У меня возникли проблемы с XDomainRequest onerror
обработчик. Когда возникает ошибка, я, похоже, не могу получить тело ответа HTTP (через xdr.responseText
). Успешные запросы (200 OK) работают нормально.XDomainRequest - Получить тело ответа при ошибке
Вот запрос:
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]
Можно ли получить тело ответа?
Как это возможно, что он работает в Chrome (который использует XmlHttpRequest)? Является ли это только ограничением XDomainRequest или ошибкой внедрения Chrome? –
У меня, к сожалению, сейчас нет доступа к окну Windows, но я могу убедиться, что Chrome действительно возвращает тело. Обратите внимание, что XDomainRequest IE - это другой объект, кроме XmlHttpRequest (уровень 2) в Chrome, поэтому им не нужно соглашаться на поведение. IE10 будет поддерживать XmlHttpRequest и CORS. – monsur
Firefox работает так же, как Chrome. Я могу получить ответ даже в случае ошибки. –