Ошибка «Требуется объект» в IE8 при использовании getElementsbyTagName - PullRequest
0 голосов
/ 13 сентября 2010

У меня есть следующий код:

 if (window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
}
else // for older IE 5/6
{
    xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}

var url = 'payment/code/xmlrelay.php?t=rates&id=' + str;
xmlHttp.open('GET', url, false);
xmlHttp.send();
xmlDoc = xmlHttp.responseXML;
xmlResult = xmlDoc.getElementsByTagName('Result')[0].firstChild.nodeValue;

Доступ к следующему пустому XML-файлу с веб-сервера:

<?xml version="1.0" encoding="UTF-8"?><Property><Result>0</Result></Property>

или следующий полный:

<?xml version="1.0" encoding="UTF-8"?>
<Property>
  <Result>1</Result>
  <Rateable>1</Rateable>
  <Location>123 Main Road, Everytown</Location>
  <Instalment>$100.00</Instalment>
</Property>

Это работает в Firefox, Chrome, Safari и Opera, но в Internet Explorer 8 возвращает строку «Требуется объект» для этой строки:

xmlResult = xmlDoc.getElementsByTagName('Result')[0].firstChild.nodeValue;

Я обыскал, но смог найти все, что работает. Любые предложения будут оценены.

Приветствие Tama

1 Ответ

1 голос
/ 14 сентября 2010

Проблема заключалась в типе содержимого файла XML.Он имел тип контента

application/rss+xml

Я изменил его на

text/xml

, и теперь все отлично работает.

Спасибо за ваши комментарии, извините, что это былопрямо под моим носом все время.

...