AJAX — продвинутые возможности
В этом разделе демонстрируются продвинутые возможности загрузки контента через AJAX: передача параметров, обработка ошибок, индикатор загрузки и работа с JSON-ответами.
GET-параметры в URL #
Самый простой способ передать параметры — добавить их в URL. XPopup выполнит GET-запрос по указанному адресу.
POST-параметры через data-post #
Используйте атрибут data-post для передачи POST-параметров.
Формат: data-post="param1=value1¶m2=value2".
Значения автоматически декодируются.
POST-параметры через reqParams #
Опция reqParams позволяет передать объект с параметрами запроса.
Удобно при программном вызове $.xpopup.open().
Комбинирование GET и POST #
Можно комбинировать GET-параметры в URL и POST-параметры через reqParams.
GET-параметры добавляются к URL, POST — отправляются в теле запроса.
Обработка JSON-ответа #
Если сервер возвращает JSON, XPopup автоматически распознаёт его.
JSON должен содержать ключи, соответствующие опциям попапа
(например, {"html": "<p>Контент</p>", "headerCaption": "Заголовок"}).
Примечание: для демонстрации используется эмуляция JSON-ответа
через событие WINDOW_AJAX_SUCCESS.
Индикатор загрузки (preloader) #
Опция preloader: true (по умолчанию) показывает спиннер при загрузке контента.
Для медленных соединений это важный индикатор обратной связи.
События AJAX-запроса #
XPopup предоставляет события для перехвата AJAX-запросов на разных этапах: до отправки, после успешного получения, при ошибке.