Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить текстовое значение элемента 
:(
    Опции темы
Innuendo
Дата 29.7.2006, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



Приветствую... Решил посмотреть что такое ajax и как оно работает.
Тест таков: в 2 инпута заводим по числу и при клике на кнопку получаем их сумму. Пример глупый, но для примера - пробы сойдет.
Вот пхп файл с xml-структурой. Тут всё просто: корневой <response> и в нём <result>.
Код

<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"
  standalone="yes"?>'; ?>
<?php 
$a = $_GET["a"];
$b = $_GET["b"];
$sum = $a+$b;
?>
<response>
<result>
<?php  echo ($sum) ?>
</result>
</response>

Вот чё-то у меня не получается получить текстовое значение этого элемента.
До самого элемента добраться через:
Код

var response = xmlHttp.responseXML.documentElement;
      result = response.firstChild;

он выводит [object Text]. Смотрел в справочниках... пробовал XMLDOMText- выводит undefined, пробовал data и nodeValue и ничего не выводит...
Как получить значение этого элемента?

И ещё вопрос:
Вот можно в ажаксе без DOM'а обойтись... просто послать к пхп файлу и чтоб пхп файл вернул ответ. А вот как сделать чтоб он вернул что-то? (в нашем глупом примере пускай вернет $sum)


Заранее спасибо   

Это сообщение отредактировал(а) Innuendo - 29.7.2006, 10:31


--------------------
=)
PM MAIL ICQ Jabber   Вверх
vasac
Дата 29.7.2006, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



response.firstChild - это будет либо result, либо пустой текстовый узел перед result.
ИМХО наиболее правильно через getElementsByTagName( "result" ).item( 0 ).data

Добавлено @ 11:10 
Цитата(Innuendo @  29.7.2006,  10:11 Найти цитируемый пост)
Вот можно в ажаксе без DOM'а обойтись... просто послать к пхп файлу и чтоб пхп файл вернул ответ.

По-моему у XMLRequest есть свойство responseText в котором лежит просто текст ответа, но не уверен, что работает во всех браузерах. 
PM WWW   Вверх
Innuendo
Дата 29.7.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



vasac, 
попробовал как ты сказал... выводит undefined =( Может ошибка в серверном скрипте...
Серверный скрипт вроде работает. Завёл в браузере: tests/sum.php?a=5&b=5 и получил:
Код

<response>
<result>10</result>
</response>

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

Цитата(vasac @  29.7.2006,  11:07 Найти цитируемый пост)
По-моему у XMLRequest есть свойство responseText в котором лежит просто текст ответа, но не уверен, что работает во всех браузерах.  

это я знаю, но вот откуда он берет текст ответа? что для него является текстом ответа?  

Это сообщение отредактировал(а) Innuendo - 29.7.2006, 11:27


--------------------
=)
PM MAIL ICQ Jabber   Вверх
S.A.P.
Дата 29.7.2006, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Цитата(vasac @  29.7.2006,  11:07 Найти цитируемый пост)
По-моему у XMLRequest есть свойство responseText в котором лежит просто текст ответа, но не уверен, что работает во всех браузерах.  

работает во всех нормальных браузерах.


Цитата(Innuendo @  29.7.2006,  11:22 Найти цитируемый пост)
это я знаю, но вот откуда он берет текст ответа? что для него является текстом ответа?  

всё, что вывалилось на запрос с сервера.  

Это сообщение отредактировал(а) S.A.P. - 29.7.2006, 11:28
PM MAIL   Вверх
Innuendo
Дата 29.7.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



Цитата(S.A.P. @  29.7.2006,  11:28 Найти цитируемый пост)
всё, что вывалилось на запрос с сервера.  

не понимаю.. как это вывалилось на запрос? 


--------------------
=)
PM MAIL ICQ Jabber   Вверх
S.A.P.
Дата 29.7.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Цитата(Innuendo @  29.7.2006,  14:59 Найти цитируемый пост)
не понимаю.. как это вывалилось на запрос?  

Я даже не знаю как по другому объяснить smile .
Код

<?
echo 2+3;
?>


Код

alert(xmlHttp.responseText);


выскочит alert с цифрой 5.
 
PM MAIL   Вверх
Innuendo
Дата 29.7.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



Цитата(S.A.P. @  29.7.2006,  15:11 Найти цитируемый пост)

Я даже не знаю как по другому объяснить smile .

Вооо! спасибо! понял теперь.

А как всё таки с xml ячейкой?
у меня так и не получилось вывести из неё значение... 


--------------------
=)
PM MAIL ICQ Jabber   Вверх
skyboy
Дата 29.7.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Код

xmlHttp.responseXML.documentElement.GetElementsByTagName('result')[0].firstChild.nodeValue;
 
PM MAIL   Вверх
Innuendo
Дата 29.7.2006, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



Спасибо! 


--------------------
=)
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1280 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.