⚙️

AJAX — продвинутые возможности

В этом разделе демонстрируются продвинутые возможности загрузки контента через AJAX: передача параметров, обработка ошибок, индикатор загрузки и работа с JSON-ответами.

GET-параметры в URL #

Самый простой способ передать параметры — добавить их в URL. XPopup выполнит GET-запрос по указанному адресу.

POST-параметры через data-post #

Используйте атрибут data-post для передачи POST-параметров. Формат: data-post="param1=value1&param2=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-запросов на разных этапах: до отправки, после успешного получения, при ошибке.