kemply
@kemply
школьник

Что не так в коде?

Файл скрипта:
if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
			else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			
			xmlhttp.open("GET", "worker.xml", true);
			xmlhttp.send();
			xmlDoc = xmlhttp.responseXML;
			document.getElementById("IDWorker").innerHTML = xmlDoc.getElementsByTagName("IDWorker")[0].childNodes[0].nodeValue;
			document.getElementById("LastName_Worker").innerHTML = xmlDoc.getElementsByTagName("LastName_Worker")[0].childNodes[0].nodeValue;
			document.getElementById("FirstName_Worker").innerHTML = xmlDoc.getElementsByTagName("FirstName_Worker")[0].childNodes[0].nodeValue;


Файл worker.xml
<?xml version="1.0" encoding="utf-8"?>
<Root xmlns="xsd.xsd">
	<Worker>
		<IDWorker>1</IDWorker>
		<LastName_Worker>Генадий</LastName_Worker>
		<FirstName_Worker>Михаил</FirstName_Worker>
		<Patronymic_Worker>Василиевич</Patronymic_Worker>
		<PositionWorker>Директор</PositionWorker>
		<DateWorker>2014-08-16</DateWorker>
	</Worker>
	<Worker>
		<IDWorker>2</IDWorker>
		<LastName_Worker>Аркадий</LastName_Worker>
		<FirstName_Worker>Петр</FirstName_Worker>
		<Patronymic_Worker>Анатолиевич</Patronymic_Worker>
		<PositionWorker>Менеджер</PositionWorker>
		<DateWorker>2014-08-20</DateWorker>
	</Worker>
</Root>


и сам HTML файл:
<p class="left">Код сотрудника:</p><p id="IDWorker"></p>
<p class="left">Фамиля сотрудника:</p><p id="LastName_Worker"></p>
<p class="left">Имя сотрудника:</p><p id="FirstName_Worker"></p>
<p class="left">Отчество сотрудника:</p><p id="Patronymic_Worker"></p>
<p class="left">Должность:</p><p id="PositionWorker"></p>
<p class="left">Дата трудоустроиства:</p><p id="DateWorker"></p>


но мне выдает ошибку:
script.js: 7 Uncaught TypeError: Cannot read property 'getElementsByTagName' of null


Что не так в этом коде?
  • Вопрос задан
  • 866 просмотров
Пригласить эксперта
Ответы на вопрос 1
mlnkv
@mlnkv
JavaScript Developer
function request(url, callback) {
  var req = new XMLHttpRequest();
  req.open('GET', url, true);
  req.onload = function() {
    if (req.status >= 200 && req.status < 400) {
      if (callback) callback(req.responseText);
    }
  };
  req.send();
}

request('worker.xml', function(xml) {  
  document.getElementById("IDWorker").innerHTML = xml.getElementsByTagName("IDWorker")[0].childNodes[0].nodeValue;
  document.getElementById("LastName_Worker").innerHTML = xml.getElementsByTagName("LastName_Worker")[0].childNodes[0].nodeValue;
  document.getElementById("FirstName_Worker").innerHTML = xml.getElementsByTagName("FirstName_Worker")[0].childNodes[0].nodeValue;
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы