Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2010, 11:18
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

Переодическое получение ответа от сервера
Начав знакомиться с технологией AJAX, я наткнулся на такой момент, что возможно лишь получение конечного результата выполнения серверного скрипта. Получение промежуточных результатов возможно лишь в некоторых браузерах и лишь в весьма ограниченном виде. Это так или есть какие-то способы уведомлять пользователя о текущем ходе выполнения скрипта?
ЗЫ Я перевожу обычное приложение (.EXE) на javascript-php (скорость выполнения такого приложения возрастает сразу в несколько раз - это мой мотив + надежность в силу некоторых специфических моментов). Но даже в этом случае время займет несколько минут и хотелось бы информировать пользователя, что в данный момент выполняется такая-то процедура... Как это примерно сделать? Подвешивать браузер на все время выполнения скрипта вовсе не хотелось бы (типа, как браузер отвис, так и закончилась процедура)...
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2010, 11:23
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

demoniqus,
может readyState ?
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2010, 11:27
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

readyState возвращает всего несколько числовых значений, но получить доступ к ним можно не во всех браузерах. А я хочу выводить на страницу полноценное текстовое сообщение "Выполняется формирование главной таблицы", "Выполняются операции с файлом ..." и т.п.
Ответить с цитированием
  #4 (permalink)  
Старый 16.06.2010, 11:37
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Периодически спрашивать сервер, как идут дела.
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2010, 09:43
Новичок на форуме
Отправить личное сообщение для PheonixS Посмотреть профиль Найти все сообщения от PheonixS
 
Регистрация: 19.06.2010
Сообщений: 6

readyState озваращает всегда итоговый результат во всех браузерах одинаково. Почему бы не написать что-нибудь типа
if(xmlHttp.readyState != 0 && xmlHttp.readyState != 4)document.getElementById("div").innerHTML = "Выполняется формирование главной таблицы";

а дабы обезопасить всё-то что уже нагенерировалось пихайте данные в сессию
Ответить с цитированием
  #6 (permalink)  
Старый 21.06.2010, 14:40
Новичок на форуме
Отправить личное сообщение для Shevan Посмотреть профиль Найти все сообщения от Shevan
 
Регистрация: 04.06.2010
Сообщений: 4

Пример кода привести не смогу, еще сам только учусь, но кажеццо у меня по этому вопросу есть идейка. Аяксом отправляеться запрос/указание серверу че делать, приходит ответ: "принято к исполнению".
Затем с некоторым интервалом аяксом слать запрос содержания "как там дела". В ответ сервер отправляет одну и туже переменную (возможно из сессии), но вот только сама эта переменная в процессе работы серверного скрипта меняеться, в зависимости от того какую стадию сервер выполнил.
Ответить с цитированием
  #7 (permalink)  
Старый 22.06.2010, 16:09
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

С сессиями пока не разбирался. Обошелся другим способом - на серваке маленький php-скриптик в несколько строк, формирующий ответ о статусе. Основной php-скрипт переписывает его, тем самым формируя ответ в виде обычного понятного всем пользователям текста. По окончании работы в ответ добавляется просто определенная метка. А в код страницы добавляется лишь немного javascript-кода, выполняющего периодический запрос к маленькому php-ответу, а при обнаружении метки об окончании останавливается периодическая проверка статуса выполнения. Может и криво, но это пока то, что я могу сделать...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление страницы после получения ответа от сервера potrashitel AJAX и COMET 9 24.02.2015 10:04
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06
Ответ сервера в плугине ajaxForm отдается неправильно. IgorOk jQuery 11 13.12.2009 04:35
Ajax и получение ответа до полной загрузки страницы Suspended jQuery 3 16.11.2008 14:57
передача массива с сервера subaru Общие вопросы Javascript 3 02.07.2008 19:57