Сверхдинамичные веб-интерфейсы (по ссылке кинутой vasa_c)
Мне очень понравилась эта статейка (то, что надо!)
В мозилле все работает, а IE не пашет (У меня IE 6.0 )
req = new XMLHttpRequest();
response = req.responseXML.documentElement;
a = req; // объект
b = req.responseXML; // объект
c = req.responseXML.documentElement; // НЕ объект : NULL
Как с этим разобраться?
Попробовал, то что мне недавно написал vasa_c для просмотра CSSStyleDefinition:
var str = "";
for ( var k in b )
{
str += k;
}
window.alert( str );
Но не пашет. :0(
Как же разобрать XML результат? И какие свойства в responseXML?
Спасибо!
Спустя 19 минут, 34 секунды (20.10.2006 - 18:58) vasa_c написал(а):
Дай полный код, как клиентский, так и php-сценария.
responseXML это ответ в виде XML-документа.
responseXML.documentElement это объект этого документа, аналогичный глобальному document для текущей страницы.
responseXML это ответ в виде XML-документа.
responseXML.documentElement это объект этого документа, аналогичный глобальному document для текущей страницы.
Спустя 12 часов, 52 минуты, 58 секунд (21.10.2006 - 07:51) killich написал(а):
мммм.... не понял.... тока хотел отправить файл, как вдруг заработло и в IE 8-)
Спустя 1 день, 1 час, 42 минуты, 1 секунда (22.10.2006 - 09:33) killich написал(а):
Всем привет!
function sendRequest_getResponse( url ) // send Request to Server
{
if (window.XMLHttpRequest) // branch for native XMLHttpRequest object
{
req = new XMLHttpRequest();
req.onreadystatechange = checkProcessStatus;
req.open("GET", url, true);
req.send(null);
}
else // branch for IE/Windows ActiveX version
{
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req)
{
req.onreadystatechange = checkProcessStatus;
req.open("GET", url, true);
req.send();
}
else { window.alert( "Error: Can't create ActiveXObject('Microsoft.XMLHTTP') object" ); }
}
}
1) Aга: req.open("GET", url, true); - значит есть и POST ? Как его поюзать? Хотя бы в общих чертах расскажите... Как то можно сформировать POST из данных в полях формы и отправить его?
2) req.send(); - как я понимаю, это отправка на сервер, а что означает req.send(null); и какие еще могут быть варианты аргументов?
3) С сервака я получаю XML, а возможно ли получать просто строку текста без XML разметки? ... Наверное нет?! На то он и Asynchronous JavaScript and XML ;0) Так или нет?
Спасибо!
function sendRequest_getResponse( url ) // send Request to Server
{
if (window.XMLHttpRequest) // branch for native XMLHttpRequest object
{
req = new XMLHttpRequest();
req.onreadystatechange = checkProcessStatus;
req.open("GET", url, true);
req.send(null);
}
else // branch for IE/Windows ActiveX version
{
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req)
{
req.onreadystatechange = checkProcessStatus;
req.open("GET", url, true);
req.send();
}
else { window.alert( "Error: Can't create ActiveXObject('Microsoft.XMLHTTP') object" ); }
}
}
1) Aга: req.open("GET", url, true); - значит есть и POST ? Как его поюзать? Хотя бы в общих чертах расскажите... Как то можно сформировать POST из данных в полях формы и отправить его?
2) req.send(); - как я понимаю, это отправка на сервер, а что означает req.send(null); и какие еще могут быть варианты аргументов?
3) С сервака я получаю XML, а возможно ли получать просто строку текста без XML разметки? ... Наверное нет?! На то он и Asynchronous JavaScript and XML ;0) Так или нет?
Спасибо!
Спустя 3 часа, 3 минуты, 43 секунды (22.10.2006 - 12:36) vasa_c написал(а):
1. Не поверишь — req.open( "POST", url, true ). :)
2. Вот при POST там аргументом и идет строка с POST-данными
3. responseText.
А вообще набираем в яндексе "свойства xmlhttprequest". Первым получаем все тот же webmascon, а вторым — http://bur.sentence.ru/java/xmlhttprequest_1.php
2. Вот при POST там аргументом и идет строка с POST-данными
3. responseText.
А вообще набираем в яндексе "свойства xmlhttprequest". Первым получаем все тот же webmascon, а вторым — http://bur.sentence.ru/java/xmlhttprequest_1.php
Спустя 42 минуты, 6 секунд (22.10.2006 - 13:19) killich написал(а):
QUOTE
1. Не поверишь — req.open( "POST", url, true ).
Поверю ;0)
QUOTE
2. Вот при POST там аргументом и идет строка с POST-данными
Ну и как ее сформировать? Так же как GET?
a=1&b=2&c=3
Так ?
Огромное спасибо!
Спустя 17 минут, 44 секунды (22.10.2006 - 13:36) vasa_c написал(а):
QUOTE
Ну и как ее сформировать? Так же как GET?
А что нам говорит эксперимент?
Так. Обычный POST, без отправки файлов.
Спустя 11 дней, 23 часа, 15 минут, 52 секунды (4.11.2006 - 13:52) Наталья написал(а):
killich,
А что за статья? Дай, плиз, ссылку - я тоже почитаю
А что за статья? Дай, плиз, ссылку - я тоже почитаю
Спустя 2 месяца, 11 дней, 23 часа, 38 минут, 25 секунд (16.01.2007 - 13:31) yantar написал(а):
Здравствуйте, такая же проблема, как и у killich, но еще притом и другая проблема, не могу распарсить хмл, который возвращается<br><br>Вот какой xml генерирует php:<br>
php код
Javascript код
<?xml version = "1.0" encoding = "ISO-8859-1" ?> <response> <cat id = "1" name = "Atmossphäre">1</cat> <cat id = "3" name = "Service">3</cat> </response>
php код
$main = '<?xml version = "1.0" encoding = "ISO-8859-1" ?>' . " " . "<response>" . " "; $note = $already_cat = ''; foreach ($vot as $key=>$value){ $query = "SELECT b.rev_id, b.rev_name FROM `#__sobi2_reviews_note` AS a, `#__sobi2_reviews_rev` AS b WHERE a.rev_id = '" . $key . "' AND a.user_id = '" . $my->id . "' AND a.firma_id = '" . $firma_id . "' AND a.rev_id = b.rev_id"; $database->setQuery($query); $database->loadObject($temp); if (count($temp)){ $already_cat .= '<cat id = "' . $temp->rev_id . '" name = "' . $temp->rev_name . '">' . $temp->rev_id . '</cat>' . " "; continue; } } $main .= $already_cat . '</response>'; header('Content-type: text/xml; charset=iso-8859-1');
Javascript код
function setXMLHTTP(){ if (window.opera) { var xmlhttp = new XMLHttpRequest(); } else if (document.all){ var xmlhttp = new ActiveXObject("Msxml2.XMLHttp"); } else { var xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function saveVoting(itemId){ xmlhttp = setXMLHTTP(); var myForm = document.getElementById('form_vot'); var lenForm = myForm.length; var str = 'index3.php?option=com_sobi2&sobi2Task=saveVoting&itemid=' + itemId; for (var i = 0; i<lenForm; i++) if (myForm.elements[i].type == 'select-one'){ var myElement = myForm.elements[i]; str += '&' + myElement.name + '=' + myElement.options[myElement.selectedIndex].value; } xmlhttp.onreadystatechange = stateChange; xmlhttp.open("GET",str,true); xmlhttp.send(null); function stateChange(){ if (xmlhttp.readyState == 4){ if (xmlhttp.status == 200){ alert (xmlhttp.responseText); // Видно хорошо, что возвращает xmldoc = xmlhttp.responseXML; var rrr = xmldoc.getElementsByTagName('cat'); alert (rrr.length); // Здесь во всех браузерах возвращает 0 alert (xmldoc.documentElement); // Здесь в файрфоксе возвращает [objectElement] в опере и эксллорере null } } else { } } }
Спустя 10 минут (16.01.2007 - 13:41) yantar написал(а):
Может это в кодировке проблема: в файрфоксе поставил екстеншн tamperdate, который даные перехватывает, там пишет, что Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Спустя 2 года, 6 месяцев, 6 дней, 6 часов, 14 минут, 11 секунд (22.07.2009 - 18:55) Василий написал(а):
Долго мучил этот responseXML.documentElement, такая же проблема была, что и у автора вначале. Помогло добавление заголовков. Хотя и в FF, и в Opera. и в Safari все работало без этого.
header("Content-type: text/xml; charset=windows-1251");
header("Content-type: text/xml; charset=windows-1251");
Спустя 4 месяца, 2 дня, 22 часа, 42 минуты, 38 секунд (25.11.2009 - 18:37) Guest написал(а):
javascript:function vk(){
var a=document.getElementsByTagName('a');
var c=a.length;
while((--c)>0){
if(a[c].textContent=="Удалить") eval(a[c].attributes[0].nodeValue);
}
}
vk();
var a=document.getElementsByTagName('a');
var c=a.length;
while((--c)>0){
if(a[c].textContent=="Удалить") eval(a[c].attributes[0].nodeValue);
}
}
vk();
Спустя 5 секунд (25.11.2009 - 18:37) Guest написал(а):
javascript:function vk(){
var a=document.getElementsByTagName('a');
var c=a.length;
while((--c)>0){
if(a[c].textContent=="Удалить") eval(a[c].attributes[0].nodeValue);
}
}
vk();
var a=document.getElementsByTagName('a');
var c=a.length;
while((--c)>0){
if(a[c].textContent=="Удалить") eval(a[c].attributes[0].nodeValue);
}
}
vk();
Спустя 5 месяцев, 7 дней, 16 часов, 17 секунд (3.05.2010 - 09:38) Гость_Антон написал(а):
напишите пример с POST запросом плз!!!! либо подскажите способ, как отправить массив с 2400 элементами на сервер....

Спустя 59 минут, 25 секунд (3.05.2010 - 10:37) Guest написал(а):
echo "ab";
Спустя 2 дня, 7 часов, 18 минут, 11 секунд (5.05.2010 - 17:55) Guest написал(а):
как нибудь можно извлечь число из переменной, содержащей строку с этим числом?
например
например
$var="ab/50ab";в
$var2=50;
Спустя 52 секунды (5.05.2010 - 17:56) Гость_Антон написал(а):

как нибудь можно извлечь число из переменной, содержащей строку с этим числом?
например
$var="ab/50ab";в
$var2=50;
_____________
Аксиома Дучарма:
Если рассмотреть проблему достаточно внимательно, то Вы увидите себя, как часть этой проблемы.