Я пытаюсь проанализировать ответ AJAX-запроса как XML.
Поскольку он может иметь разные типы MIME, я сначала запрашиваю его как XML через overrideMimeType()
.
Это работает в большинстве случаев, но когда я пытаюсь переопределить этот URL (используйте CTRL+U
, чтобы увидеть его источник), responseXML()
очевидно ошибка из-за отсутствующего тега </meta>
.
TypeError: xhr is null
Errore interpretazione XML: tag corrispettivo mancante. Previsto: </meta>.
У меня нет контроля над запрошенными данными, поэтому я не могу добавить тег самостоятельно.
Причина, по которой я выполняю это преобразование, заключается в том, чтобы проанализировать ответ в случае возникновения исключения и перехватить его сообщение (ресурс фактически представляет собой службу веб-карты или WMS).
Тера - это способ преодолеть эту проблему?
Вот часть кода, который я использую:
var xhttp = new XMLHttpRequest();
// overrideMimeType() can be used to force the response to be parsed as XML
xhttp.overrideMimeType('text/xml');
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// if ServiceExceptionReport occurs, place it in alert type "error"
var xhr = this.responseXML;
if (xhr.documentElement.nodeName === 'ServiceExceptionReport') {
fancyAlert(this.responseText, 'error');
} else {
fancyAlert(this.responseText, 'info', 'Layer Info');
}
}
};
xhttp.open("GET", text, true);
xhttp.send();