Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2012, 16:16
Аспирант
Отправить личное сообщение для seregarem Посмотреть профиль Найти все сообщения от seregarem
 
Регистрация: 08.07.2010
Сообщений: 46

Ошибка: "'xmlDoc' - есть null или не является объектом"
Выполняю скрипт:
var request = null;
function createRequest() {
try { request = new XMLHttpRequest(); }
catch (trymicrosoft) {
	try { request = new ActiveXObject("Msxml2.XMLHTTP");  }
	catch (othermicrosoft) {
		try { request = new ActiveXObject("Microsoft.XMLHTTP"); }
		catch (failed) { request = null; }
	}
}
if (request == null) alert("Ошибка при создании объекта XMLHttpRequest!");
}

function getKiosk(id, tp, p, city) {
  url = "../php/getkiosk.php?p=" + id + "&tp=" +tp + "&p1=" + p + "&city=" + city;
//  alert(url);
  createRequest();
  request.open("GET", url, true);
  request.onreadystatechange = function() { makeKiosk(tp,p); };
  request.send(null);
}

function makeKiosk(tp,p) {
if (request.readyState == 4) {
//	alert(1);
    if (request.status == 200) {
        responseXml = request.responseXML;
		
//		alert(responseXml.documentElement);
		
        xmlDoc = responseXml.documentElement;
        action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;
		kiosk = xmlDoc.getElementsByTagName("kiosk")[0].firstChild.data;
		pages = xmlDoc.getElementsByTagName("pages")[0].firstChild.data;
//		alert(kiosk);
        if (action == 'ok') {
			document.getElementById(tp).innerHTML = kiosk;
			document.getElementById(p).innerHTML = pages;
			$("a.fancybox").fancybox({
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic'
	});
        } else document.getElementById(tp).value  = "";
    } else alert("Не удалось получить данные от сервера:\n" + request.statusText);
  }
}


В IE8 выдает ошибку: Сообщение: 'xmlDoc' - есть null или не является объектом

Ошибка на строке:
action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;


Как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2012, 16:27
Интересующийся
Отправить личное сообщение для userfoenix Посмотреть профиль Найти все сообщения от userfoenix
 
Регистрация: 10.10.2011
Сообщений: 11

попробуй последовательно отдебажить строку, разбей сложное выражение на куски
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2012, 16:30
Интересующийся
Отправить личное сообщение для userfoenix Посмотреть профиль Найти все сообщения от userfoenix
 
Регистрация: 10.10.2011
Сообщений: 11

еще попробуй контент-тайп запроса поставить text/xml как советуют тут: http://stackoverflow.com/questions/3...mentsbytagname
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2012, 17:10
Аспирант
Отправить личное сообщение для seregarem Посмотреть профиль Найти все сообщения от seregarem
 
Регистрация: 08.07.2010
Сообщений: 46

alert(responseXml.documentElement);
выдает результат null. Т.е. сам объект responseXml пустой, а
alert(request.responseXML);
возвращает: [object] Получается, что ошибка в xmlDoc = responseXml.documentElement; Как ее исправить?
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2012, 17:18
Интересующийся
Отправить личное сообщение для userfoenix Посмотреть профиль Найти все сообщения от userfoenix
 
Регистрация: 10.10.2011
Сообщений: 11

console.log(request.responseXML)

Так подробнее можно посмотреть что в объекте содержится

а еще: console.log(request)

Может приходит вовсе не ХМЛ, а что-то другое, потому и ошибка

и посмотрите файрбагом что приходит, там все видно
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2012, 17:23
Аспирант
Отправить личное сообщение для seregarem Посмотреть профиль Найти все сообщения от seregarem
 
Регистрация: 08.07.2010
Сообщений: 46

Как использовать console.log(request.responseXML);?
Ответить с цитированием
  #7 (permalink)  
Старый 24.02.2012, 17:27
Интересующийся
Отправить личное сообщение для userfoenix Посмотреть профиль Найти все сообщения от userfoenix
 
Регистрация: 10.10.2011
Сообщений: 11

установить FireBug для FireFox, в нем есть консоль, там и выведет
Подробнее тут: http://getfirebug.com/logging
Ответить с цитированием
  #8 (permalink)  
Старый 24.02.2012, 17:29
Аспирант
Отправить личное сообщение для seregarem Посмотреть профиль Найти все сообщения от seregarem
 
Регистрация: 08.07.2010
Сообщений: 46

Ошибка только в IE


генерируется это:
<?xml version="1.0" encoding="utf8" standalone="yes"?><response><action>ok</action><kiosk><![CDATA[<tr>
<th class="table_header" width="70">№</th> <th class="table_header" width="160"> </th> <th class="table_header" width="160">Адрес</th> <th class="table_header" width="160">Стороны <img style="vertical-align: middle; margin-left: 20px;" src="images/side.png" alt="" /></th> <th class="table_header" width="390">Информация</th>
</tr><tr><td width="70" class="table_num1"><span class="num_kiosk">1</span></td><td width="160" class="table_l1"><img src="/uploads/Products/product_1/thumb_1_16.JPG" class="thumb" /></td><td width="160" class="table_l1">Октябрьский проспект, 16</td><td width="160" class="table_l1"><a class="fancybox" href="/uploads/Products/product_1/1_16.JPG"><img alt="" src="images/side_a_active.png" /></a><img src="images/side_b.png" /><img src="images/side_c.png" /><a class="fancybox" href="/uploads/Products/product_1/DSC07038.JPG"><img alt="" src="images/side_d_active.png" /></a><br /><br /><p style="color: #b80000;"><strong>просмотр фото</strong></p></td><td width="390" class="table_l1">Остановка, супермаркет «Глобус», крупный жилой район</td></tr><tr><td width="70" class="table_num1"><span class="num_kiosk">2</span></td><td width="160" class="table_l1"><img src="/uploads/Products/product_2/thumb_DSC04931.JPG" class="thumb" /></td><td width="160" class="table_l1">Профсоюзная, 78</td><td width="160" class="table_l1"><a class="fancybox" href="/uploads/Products/product_2/DSC04931.JPG"><img alt="" src="images/side_a_active.png" /></a><img src="images/side_b.png" /><img src="images/side_c.png" /><a class="fancybox" href="/uploads/Products/product_2/DSC04932.JPG"><img alt="" src="images/side_d_active.png" /></a><br /><br /><p style="color: #b80000;"><strong>просмотр фото</strong></p></td><td width="390" class="table_l1">Остановка, супермаркет «Глобус», крупный жилой район</td></tr><tr><td width="70" class="table_num1"><span class="num_kiosk">3</span></td><td width="160" class="table_l1"><img src="/uploads/Products/product_3/thumb_3__3-.JPG" class="thumb" /></td><td width="160" class="table_l1">Калинина, 3</td><td width="160" class="table_l1"><img src="images/side_a.png" /><img src="images/side_b.png" /><img src="images/side_c.png" /><a class="fancybox" href="/uploads/Products/product_3/3__3-.JPG"><img alt="" src="images/side_d_active.png" /></a><br /><br /><p style="color: #b80000;"><strong>просмотр фото</strong></p></td><td width="390" class="table_l1">Сеть магазинов «продуктовая лавка», магазин «1000 мелочей», парк цирка</td></tr><tr><td width="70" class="table_num1"><span class="num_kiosk">4</span></td><td width="160" class="table_l1"><img src="/uploads/Products/product_4/thumb_4_--.JPG" class="thumb" /></td><td width="160" class="table_l1">Перекресток Кольцова и Упита</td><td width="160" class="table_l1"><a class="fancybox" href="/uploads/Products/product_4/4_--.JPG"><img alt="" src="images/side_a_active.png" /></a><img src="images/side_b.png" /><img src="images/side_c.png" /><a class="fancybox" href="/uploads/Products/product_4/.___4.JPG"><img alt="" src="images/side_d_active.png" /></a><br /><br /><p style="color: #b80000;"><strong>просмотр фото</strong></p></td><td width="390" class="table_l1">Новый жилой район, ТЦ «Красная горка»</td></tr><tr><td width="70" class="table_num1"><span class="num_kiosk">5</span></td><td width="160" class="table_l1"><img src="/uploads/Products/product_5/thumb_5__60-.JPG" class="thumb" /></td><td width="160" class="table_l1">Октябрьский проспект, 60</td><td width="160" class="table_l1"><a class="fancybox" href="/uploads/Products/product_5/5__60-.JPG"><img alt="" src="images/side_a_active.png" /></a><img src="images/side_b.png" /><img src="images/side_c.png" /><a class="fancybox" href="/uploads/Products/product_5/_-_60.JPG"><img alt="" src="images/side_d_active.png" /></a><br /><br /><p style="color: #b80000;"><strong>просмотр фото</strong></p></td><td width="390" class="table_l1">Магазин «Принто», остановка, салон красоты</td></tr>]]></kiosk><pages><![CDATA[<div class="total_kiosk"><p>Всего 103 киосков</p></div><div class="links_kiosk"><div class="first_btn_address" onclick="getKiosk(0,'table_kirov','pages_kirov','Киров');"><p>&#8249;&#8249; &#8249;&#8249;</p></div><div class="btn_address" onclick="getKiosk(0,'table_kirov','pages_kirov','Киров');"><p>&#8249;&#8249;</p></div><div class="btn_address_active"><p id="activepage">1</p></div><div class="btn_address" onclick="getKiosk(1,'table_kirov','pages_kirov','Киров');"><p>2</p></div><div class="btn_address" onclick="getKiosk(2,'table_kirov','pages_kirov','Киров');"><p>3</p></div><div class="btn_address" onclick="getKiosk(1,'table_kirov','pages_kirov','Киров');"><p>&#8250;&#8250;</p></div><div class="first_btn_address" onclick="getKiosk(20,'table_kirov','pages_kirov','Киров');"><p>&#8250;&#8250; &#8250;&#8250;</p></div></div>]]></pages></response>
Ответить с цитированием
  #9 (permalink)  
Старый 24.02.2012, 17:34
Аспирант
Отправить личное сообщение для seregarem Посмотреть профиль Найти все сообщения от seregarem
 
Регистрация: 08.07.2010
Сообщений: 46

Вот страница с ошибкой http://marketmedia-kirov.ru/index.php?page=portfolio
Ответить с цитированием
  #10 (permalink)  
Старый 24.02.2012, 18:08
Интересующийся
Отправить личное сообщение для userfoenix Посмотреть профиль Найти все сообщения от userfoenix
 
Регистрация: 10.10.2011
Сообщений: 11

попробуй вместо firstChild использовать childNodes[0]
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript - классы, они есть или их нету в Javascript? Golovastik Javascript под браузер 39 15.02.2013 10:38
ошибка js в ie есть null или не является объектом progns Элементы интерфейса 4 09.03.2012 12:33
IE7, "undefined" - есть null или не является объектом kostepanych Общие вопросы Javascript 8 24.11.2011 23:18
options[...].text null или не явл. объектом в for zeloras Internet Explorer 5 04.12.2010 22:18
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37