Страница 1 из 1
!!!!!!!!не создается объект ActiveX в IE
Добавлено: 19 июл 2006, 16:10
yelenabun
вот код функции для создания объекта XMLHttpRequest:
Код: Выделить всё
function initRequest() {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
alert("1req="+req);
}
} else if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
alert("2req="+req);
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
alert("3req="+req);
} catch (e) {
}
}
}
}
выдается алерт 2req, но объект пустой. в чем дело, я уже все перепробовала, что можно. хеееееееееееелп. в мозиле все нормально
Добавлено: 19 июл 2006, 16:18
yelenabun
да, кстати, сами активиксы включены в браузере...
Добавлено: 19 июл 2006, 16:46
Oscar
yelenabun, кто сказал, что он пустой ? ;-)
Добавлено: 19 июл 2006, 18:03
yelenabun
[quote="Oscar"]
yelenabun, кто сказал, что он пустой ? ]
я просила помочь, а загадки и ребусы уже замучилась отгадывать... самый крайний случай - обратилась на форум...первый раз в жизни...ну..или второй...
короче, дело такое,
я его посылаю:
Код: Выделить всё
req.open("POST", url, true);
req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
req.send("availableitms="+availableitms+
"&selecteditms="+selecteditms);
потом получаю:
Код: Выделить всё
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
parseMessages(req.responseXML);
} else if (req.status == 204){
alert("Problem retrieving XML data");
}
}
};
проверяла:
req.responseXML - объект есть, возвращается с сервера
req.responseТext - возвращает одни теги xml-ные, а данных в них нет, что с сервера должны передаться.
допустим, я беру нужное мне значение так:
Код: Выделить всё
av = responseXML.getElementsByTagName("avail_items")[0].childNodes[i].childNodes[0].nodeValue
но в ИЕ это не работает, даже если я сделаю вот так:
Код: Выделить всё
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load(responseXML);
пишет, что у объекта нету пропертей ... даже если я убиру какойто из childNodes....
в чем трабл, не пойму?
Добавлено: 19 июл 2006, 21:57
Oscar
Добавлено: 20 июл 2006, 11:23
yelenabun
ладно, согласна, xml-ник возвращается, но данных в нем нет, одни теги.
передаю постом
Код: Выделить всё
req.open("POST", url, true); req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
req.send("availableitms="+availableitms+
"&selecteditms="+selecteditms);
на сервере элементы массива пустые (серверная часть php)
Код: Выделить всё
$availableitms = explode (",", $_POST['availableitms']);
$selecteditms = explode (",", $_POST['selecteditms']);
выдает например
пробовала так
Код: Выделить всё
req.setContentType('Content-Type','application/x-www-form-urlencoded');
вообще ошибка джаваскрипта
Добавлено: 20 июл 2006, 13:35
Outlook Blogger
Какой с сервера XML возвращается?
как ты на сервере генеришь XML, покажи?
Добавлено: 20 июл 2006, 13:36
yelenabun
все, сделала, все работает...
компонент сам - мультиселект, проблема в том, что я брала значения его итемов так
Код: Выделить всё
document.getElementById('selecteditms').options[i].value;
а надо так:
Код: Выделить всё
document.getElementById('selecteditms').options[i].text;
а
Код: Выделить всё
responseXML.getElementsByTagName("avail_items")[0]
в IE работает.
Спасибо, Oscar, за помощь и участие.
Еще одна проблемма
Добавлено: 04 авг 2006, 14:35
dnace
новая проблемма,
сруктура вызова та же (описана вами выше), но вот при получении результата, например:
if (req.readyState == 4) {
alert(req.responseText);
}
в ИЕ выдает ошику: системная ошика: -1072896658
в мозиле и опере все работает нормально
вот образец:
http://tetis.dp.ua/shop/search155.html (при нажатии на корзину)
самое интересное что произошло после переезда на новый хостинг, на старом все работало. грешить на хостинг особенно не приходится, (хотя пытался что то править и там), ведь в других браузерах работает.
не подскажете ли в чем суть проблеммы?
похоже что с этой проблеммой столкнулся не только я, вот еще тема:
http://www.codenet.ru/webmast/js/ajax/A ... p#comments