13.01.2014, 13:01
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 23
|
|
Поймать ответ сервера
Вопросы глупые, но сам никак не могу догнать схему действий.
Учебник читал.
Есть некая страница. Например, показывает количество онлайн посетителей. Данные отправляет как сам сервер, так можно и вручную запросить нажатием кнопки. Всё это безе каких-либо перезагрузок самой страницы.
Я хочу написать скрипт, который бы мониторил изменение счётчика.
Как нажать кнопку я знаю, вырезать показатель счётчика могу, а как узнать, что мне сервер что-то отправил я без понятия.
В консоле вижу, что он мне периодически отдаёт json, а что с ним дальше делать?
И ещё разъясните такую вещь
Есть несколько кнопок. Их одновременно нажимают. Как мне узнать какой ответ для какой кнопки отправил сервер.
Как я понимаю, метод open() требует минимум два аргумента: тип запроса и урл. с первый всё ясно, а как точный урл узнать? через "копировать ссылку" добавляется только # в конце адреса.
Чувствую, что жутко туплю, но застрял и не могу во этом разобраться.
|
|
13.01.2014, 13:23
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
Сообщение от 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/
|
|
13.01.2014, 13:25
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
Сообщение от totalavitaminoz
|
а как точный урл узнать?
|
Часть того УРЛ нужно кагбэ знать. Остальную часть ты сам формируешь, если нужно в запросе какие-то данные передать...
|
|
13.01.2014, 14:23
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 23
|
|
По поводу callback. Если я правильно понял, то это работает когда я передаю что-то серверу,т.е. выступаю инициатором обмена.
А если сервер самостоятельно передаёт браузеру новые данные, то как мне это отследить?
На счёт урл. На странице есть кнопка "обновить". Т.е. никаких данных мне передавать не надо.
Я её нажимаю и мне надо отследить ответ сервера именно на это действие, т.е. помимо заголовка ответа он должен вернуть новое значение количества онлайн посетителей.
Но если данные мне передавать не надо, а урл у всех кнопок выглядит как добавочный # в конце адреса, то я не могу сообразить как разобраться что к чему.
|
|
13.01.2014, 19:38
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
Сообщение от totalavitaminoz
|
А если сервер самостоятельно передаёт браузеру новые данные, то как мне это отследить?
|
Сообщение от totalavitaminoz
|
Есть некая страница.
|
Тогда покажи как ты это организуешь... Т.е. каким именно образом сам сервер тебе там что-то шлет...
|
|
13.01.2014, 19:51
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 23
|
|
Ну, например, тот же яндекс.
На сервер пришло письмо, он передал это событие браузеру и подгрузилось только 1 письмо, а не вся страница.
По край немерее, я это себе так представляю
|
|
14.01.2014, 08:55
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
Сообщение от totalavitaminoz
|
Ну, например, тот же яндекс.
|
Ты знаешь как там это организовано? Тогда повтори и будет тебе счастие...
Сообщение от totalavitaminoz
|
По край немерее, я это себе так представляю
|
От представлений до реализации "дистанция огромного размера" (с).
|
|
14.01.2014, 12:16
|
Интересующийся
|
|
Регистрация: 06.01.2014
Сообщений: 23
|
|
Так или инчае, они используют что-то, что браузер может обработать, значит, скорей всего это какая-то распространенная технология. Значит, она где-то описана)
|
|
14.01.2014, 12:57
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
totalavitaminoz, вот и используй её...
|
|
|
|