Функция getJSON. Теория и пример использования.
Функция getJSON. Теория и пример использования. Сделано в kocby.ru Функция getJSON входит в библиотеку jQuery. JSON (JavaScript Object Notation, представление объектов JavaScript) популярный формат для обмена данными между рабочей станцией пользователя (браузером) и сервером. По сравнению с XML у JSON есть преимущества: данные имеют родной формат JavaScript и возможен обмен JSON-данными с другими доменнами. JSON есть литерал объекта JavaScript пар имя-значение, например: {id: '007', firstName: 'Джеймс'}. Функция getJSON работает как функции post и get, но данные, передаваемые функции обратного вызова, представляют собой объект JSON. Пример использования: передаем на сервер (используем PHP) время рабочей станции, определяем часовой пояс рабочей станции и передаем эту информацию конечному пользователю.
© Перепечатка разрешается с установкой ссылки на ресурс http://kocby.ru
Джаваскрипт (JavaScript) по состоянию на сегодня (я начал делать эту страничку 2012-03-18) является полуофициальным стандартом для создания приложений на рабочих станциях пользователей. Джаваскрипт позволяет легко и быстро менять, адаптировать под свой вкус внешний вид и содержание странички.

Например, на этой страничке вы можете одним кликом мыши убрать и/или вернуть разметочную сетку справа и слева (см в напели управления пункт Убрать/Восстановить разметку).

Также легко вы можете отключить на этой страничке рекламные объявления и статистику посещений и обратно восстановить эту информацию, кликнув "корзину с мусором".

Конечно, это совсем простые примеры.

Делать более сложные вещи не так уж легко с точки зрения веб-программера. Надо учитывать "особенности" (читай "глюки") разных браузеров.

Но эта помеха на пути к созданию качественного кода постепенно ликвидируется. Во-первых, изготовители браузеров медленно, но верно, все ближе и ближе подходят к единым мировым стандартам кодирования веб страничек. Во-вторых, популярная библиотека JavaScript фокусирующаяся на взаимодействии JavaScript и HTML, во многом сглаживает противоречия между браузерами, заставляет их работать "почти одинаково".

Огромное достоинство jQuery заключается в том, что эта библиотека предоставляет удобный API (application programming interface, интерфейс прикладного программирования) по работе с Ajax (Asynchronous Javascript and XML — "асинхронный JavaScript и XML").

Одной из важнейших функций jQuery является ajax() и ее упрощенные клоны-шотхенды: get(), getJSON(), и post(). Семейство этих функций служит для удобного взаимодействия и обмена данными по схеме: страничка браузера → сервер → страничка браузера.

Функцию post() обычно используют для обмена большими объемами данных, т.к. GET методы используют для обмена данными браузерную строку (пусть даже иногда и невидимым для пользователя образом) и, следовательно, имеют естественные ограничения и небольшие лимиты по объему передаваемой информации.

Но когда речь идет о небольших порциях информации следует использовать функцию get() или, еще лучше, функцию getJSON().

Из названия функции getJSON() видно, что в данном случае обмен данными производится в формате JSON (JavaScript Object Notation), который является более "родным" для HTML среды.

Формат JSON имеет возможность обмена данными между разными доменами и полноценную удобную поддержку со стороны серверного языка PHP в виде функций:
json_decode — Decodes a JSON string (делает раскодировку объекта JSON, полученного от браузера).
json_encode — Returns the JSON representation of a value (кодирует данные в JSON формат для передачи в браузер).

Простой практический пример использования функции getJSON().

Давайте, передадим данные с нашей рабочей станции на сервер с помощью следующих переменных:

ajax_ok - признак согласия пользователя на передачу данных со своей рабочей станции (вообще, с технической точки зрения этого согласия можно было бы и не спрашивать, а просто без всяких вопросов схватить данные, но с этической точки зрения такое согласие нужно запросить обязательно).

Некоторые временные характеристики с точки зрения рабочей станции (work station, далее в переменных используется префикс в виде сокращения work_st_ ):
work_st_FullYear - год
work_st_Month - месяц
work_st_Date - день
work_st_Hours - час
work_st_Minutes - минуты
work_st_Seconds - секунды
work_st_TimezoneOffset - смещение в минутах от нулевой зоны Гринвича (GMT) с точки зрения рабочей станции.

В ответ сервер передаст информацию в формате JSON:

Некоторые временные характеристики, уже с точки зрения сервера время считается Лондонским (UTC+0) (далее в переменных используется префикс server_ ):
server_FullYear - год
server_Month - месяц
server_Date - день
server_Hours - час
server_Minutes - минуты
server_Seconds - секунды

Сервер также рассчитывает и передает разницу между данными рабочей станции и сервером:

dif_Year - разница в значении года
dif_Month - разница в значении месяца
dif_Date - разница в значении дня
dif_Hours - разница в значении часа
dif_Minutes - разница в значении минут
dif_Seconds - разница в значении секунд
dif1 - разница в значении отклонения от (UTC+0) в минутах точная
dif1_rounded - разница в значении отклонения от (UTC+0) в минутах округленная до значения целых минут.

Итоговые данные, которые сервер берет из базы данных:

code1 - код зоны в формате (UTC+0).
minstart - начало интервала зоны в минутах.
minend - конец интервала зоны в минутах.
desce - описание зоны на англ.
descr - описание зоны на русском.
iso8601 - пример, как для данной зоны отображается время в международном формате.
dst - Регионы данной зоны, в которых действует DST (Daylight Saving Time, Переход на Летнее Время).

Теперь первое практическое упражнение по теме: попробуем определить временную зону и правильность установки времени на нашей теукщей станции.

Если вы хотите узнать свой часовой пояс, отметьте радио кнопку 'да' и затем нажмите кнопку 'Запустить процесс'.
Полученные результаты можно посмотреть в таблице ниже.
Процесс пошел... Прошу подождать...
Please wait... Прошу подождать...
Отметьте 'да' и нажмите 'Запустить процесс'
Вы действительно хотите запустить процесс?


Close and hide in basket :: Закрыть и спрятать в корзину

Карта временных зон (для получения более качественного изображения кликните по карте в любом месте):


После того, как вы нажмите кнопку 'Запустить процесс', здесь я напечатаю объяснения по его результатам.

~~~~~~~~~~~~
Теперь вы можете скачать бесплатный дистрибутив для установки данного функционала на своем сайте.

Странички, рекомендуемые для посещения и изучения:

Выпуск 196 рассылки 'Как сделать популярный сайт' в котором даны подробные инструкции, как правильно устанавливать функционал теста времени на свой сайт и даны внятные объяснения, зачем это нужно.

Тест времени. Проверка времени и определение часового пояса рабочей станции. Версия функционала "Проверка времени и определение часового пояса рабочей станции" для конечного пользователя. Теория по часовым поясам Земли. Формирование административных часовых поясов. Карты часовых поясов. Данный простой фунционал позволит вам быстро определить правильно ли установлено значение даты и времени на рабочей станции пользователя, а также определить временную зону (часовой пояс). Чтобы не перенапрягать пользователя, здесь убрана возможность уточнения временных параметров.

Тропинка к данной страничке:
Главная страничка kocby.ru :: Рассылки :: Вебмастер :: jQuery :: Функция getJSON.

Если вы планируете вернуться сюда позднее...
Пожалуйста, запомните эту страничку -
URL: http://kocby.ru/post/webmaster/jquery/getjson/
Спасибо за посещение этой странички и внимательное отношение к ее контенту и дизайну. Удачи и успеха!
© KOCBY.RU :: перепечатка материалов разрешается с указанием ссылки на домен KOCBY.RU ©
Basket is empty :: Корзина пустая
Close and hide in basket :: Закрыть и спрятать в корзину
Посмотри в зеркало! Что там видно?
Красивая девушка брюнетка слева Красивая девушка блондинка справа




Close and hide in basket :: Закрыть и спрятать в корзину статистическую информацию о посетителях Клуба.
Створки зеркала Клуба Одиноких Сердец.
Красивая девушка блондинка слева Красивая девушка брюнетка справа