Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2014, 13:01
Интересующийся
Отправить личное сообщение для totalavitaminoz Посмотреть профиль Найти все сообщения от totalavitaminoz
 
Регистрация: 06.01.2014
Сообщений: 23

Поймать ответ сервера
Вопросы глупые, но сам никак не могу догнать схему действий.
Учебник читал.
Есть некая страница. Например, показывает количество онлайн посетителей. Данные отправляет как сам сервер, так можно и вручную запросить нажатием кнопки. Всё это безе каких-либо перезагрузок самой страницы.

Я хочу написать скрипт, который бы мониторил изменение счётчика.
Как нажать кнопку я знаю, вырезать показатель счётчика могу, а как узнать, что мне сервер что-то отправил я без понятия.
В консоле вижу, что он мне периодически отдаёт json, а что с ним дальше делать?

И ещё разъясните такую вещь
Есть несколько кнопок. Их одновременно нажимают. Как мне узнать какой ответ для какой кнопки отправил сервер.
Как я понимаю, метод open() требует минимум два аргумента: тип запроса и урл. с первый всё ясно, а как точный урл узнать? через "копировать ссылку" добавляется только # в конце адреса.

Чувствую, что жутко туплю, но застрял и не могу во этом разобраться.
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2014, 13:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от totalavitaminoz
а как узнать, что мне сервер что-то отправил
Для этого есть калбек функции...

Цитата:
Листинг 5. Выполнить запрос с Ajax
function callServer() {
  // Получить city и state из web-формы
  var city = document.getElementById("city").value;
  var state = document.getElementById("state").value;
  // Продолжать только если есть значения обоих полей
  if ((city == null) || (city == "")) return;
  if ((state == null) || (state == "")) return;

  // Создать URL для подключения
  var url = "/scripts/getZipCode.php?city=" + escape(city) + "&state=" + escape(state);

  // Открыть соединение с сервером
  xmlHttp.open("GET", url, true);

  // Установить функцию для сервера, которая выполнится после его ответа
  xmlHttp.onreadystatechange = updatePage;

  // SПередать запрос
  xmlHttp.send(null);
}
http://www.ibm.com/developerworks/ru...wa-ajaxintro1/
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2014, 13:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от totalavitaminoz
а как точный урл узнать?
Часть того УРЛ нужно кагбэ знать. Остальную часть ты сам формируешь, если нужно в запросе какие-то данные передать...
Ответить с цитированием
  #4 (permalink)  
Старый 13.01.2014, 14:23
Интересующийся
Отправить личное сообщение для totalavitaminoz Посмотреть профиль Найти все сообщения от totalavitaminoz
 
Регистрация: 06.01.2014
Сообщений: 23

По поводу callback. Если я правильно понял, то это работает когда я передаю что-то серверу,т.е. выступаю инициатором обмена.
А если сервер самостоятельно передаёт браузеру новые данные, то как мне это отследить?

На счёт урл. На странице есть кнопка "обновить". Т.е. никаких данных мне передавать не надо.
Я её нажимаю и мне надо отследить ответ сервера именно на это действие, т.е. помимо заголовка ответа он должен вернуть новое значение количества онлайн посетителей.
Но если данные мне передавать не надо, а урл у всех кнопок выглядит как добавочный # в конце адреса, то я не могу сообразить как разобраться что к чему.
Ответить с цитированием
  #5 (permalink)  
Старый 13.01.2014, 19:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от totalavitaminoz
А если сервер самостоятельно передаёт браузеру новые данные, то как мне это отследить?
Сообщение от totalavitaminoz
Есть некая страница.
Тогда покажи как ты это организуешь... Т.е. каким именно образом сам сервер тебе там что-то шлет...
Ответить с цитированием
  #6 (permalink)  
Старый 13.01.2014, 19:51
Интересующийся
Отправить личное сообщение для totalavitaminoz Посмотреть профиль Найти все сообщения от totalavitaminoz
 
Регистрация: 06.01.2014
Сообщений: 23

Ну, например, тот же яндекс.
На сервер пришло письмо, он передал это событие браузеру и подгрузилось только 1 письмо, а не вся страница.
По край немерее, я это себе так представляю
Ответить с цитированием
  #7 (permalink)  
Старый 14.01.2014, 08:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от totalavitaminoz
Ну, например, тот же яндекс.
Ты знаешь как там это организовано? Тогда повтори и будет тебе счастие...

Сообщение от totalavitaminoz
По край немерее, я это себе так представляю
От представлений до реализации "дистанция огромного размера" (с).
Ответить с цитированием
  #8 (permalink)  
Старый 14.01.2014, 12:16
Интересующийся
Отправить личное сообщение для totalavitaminoz Посмотреть профиль Найти все сообщения от totalavitaminoz
 
Регистрация: 06.01.2014
Сообщений: 23

Так или инчае, они используют что-то, что браузер может обработать, значит, скорей всего это какая-то распространенная технология. Значит, она где-то описана)
Ответить с цитированием
  #9 (permalink)  
Старый 14.01.2014, 12:57
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

totalavitaminoz, вот и используй её...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ответ от сервера о окончании задачи Vit AJAX и COMET 13 17.06.2012 21:31
Как разложить ответ сервера по разным div-ам? brudershaft AJAX и COMET 0 23.04.2012 20:40
ответ сервера не сохраняется в глобальную переменную cyberpunk AJAX и COMET 2 06.03.2012 11:57
Chrome firbug ответ с сервера nyols Общие вопросы Javascript 2 05.08.2011 12:19
Ответ сервера в плугине ajaxForm отдается неправильно. IgorOk jQuery 11 13.12.2009 04:35