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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AJAX и вызов метода ActionForm 
:(
    Опции темы
oson
Дата 4.3.2006, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 1



А можно ли в принципе реализовать такое.
На странице есть например <body onmouseover="timer(2000);">
где function timer(delay) { setTimeout("makeRequest('???')", delay);}
И эта функция должна сделать запрос метода ActionForm на сервере, прочитать
возвращаемое функцией значение true или false и если true, то перерисовать
определенную часть страницы БЕЗ ПЕРЕЗАГРУЗКИ.
То есть что должно быть в вызове makeRequest('???'), где
function makeRequest(url) { if (window.XMLHttpRequest)
{ http_request = new XMLHttpRequest();
........................................................
http_request.onreadystatechange =
function() { перерисовать на странице нужную часть};
http_request.open('GET', url, true); }
И можно ли вообще средствами AJAX не просто прочитать контент xml документа на сервере, а вызвать нужный метод в нужном бине и вернуть ответ?
PM MAIL   Вверх
12345c
Дата 4.3.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Цитата(oson @ 4.3.2006, 23:32 Найти цитируемый пост)
function() { перерисовать на странице нужную часть};

должна содержать чтение присланного ответа через http_request.responseText и вставить его как текст в свойство innerHTML той части страницы, которую обновляете. Связываться с responseXML можно, но возни больше - всё равно в общем случае придётся взять значение атрибута и посчитать его html-текстом, который вставите в страницу.
PM WWW   Вверх
Sardar
Дата 5.3.2006, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



oson, собсно gmail.com так и делает, только интервал дольше.

Цитата(12345c @ 4.3.2006, 22:43 Найти цитируемый пост)
всё равно в общем случае придётся взять значение атрибута и посчитать его html-текстом, который вставите в страницу.

Зачем так сложно, пользуемся XSLT, трансформируем в нужную вёрстку (DOM дерево), вставляем куда нужно. Чуть позже покажу пример, звиняюсь времени нет.

Любопытных отправляю сюда. Xоть ИЕ как всегда реализует свои не стандартные методы, они всё таки удобней чем W3C'шные универсальные, потому в гугле ищем краткие скрипты реализаций selectNodes, selectSingleNode, transformNode и других. Да простят меня фанаты W3C за последний мой совет smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
oson
Дата 5.3.2006, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 1



Цитата

Цитата(oson @ 4.3.2006, 23:32 )
function() { перерисовать на странице нужную часть};

должна содержать чтение присланного ответа через http_request.responseText и вставить его как текст в свойство innerHTML той части страницы, которую обновляете. Связываться с responseXML можно, но возни больше - всё равно в общем случае придётся взять значение атрибута и посчитать его html-текстом, который вставите в страницу.

Я не совсем понимаю. Ну есть у меня в скопе session например бин ActionForm како-нить с методом например boolean checkStatus(){ здесь делается запрос в базу напримери чтото проверяется}. То есть со страницы из JavaScript я должен сделать чтото типа
http_request.open('GET', url, true); где этот url должен вызвать метод checkStatus(). А потом
var xmldoc = http_request.responseXML;
var root_node = xmldoc.getElementsByTagName('root').item(0); - это из примера с xml документом. Но даже если я положу на ту же страницу
код <p id='callMethod'><%=checkStatus() %></p> я ж не смогу вызвать этот метод из JavaScripta как-то так
var root_node = xmldoc.getElementsById('callMethod')? Чтото я недопонимаю smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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