tgx:ajax-download#
Маппинг в data-hx-download для download-ответов.
Синтаксис#
<div tgx:ajax-download="true"></div>
Пример 1: минимум (копипаст для старта)#
<div tgx:ajax-download="true"></div>
Пример 2: реальный сценарий#
<button tgx:ajax-post="/api/v1/site/export" tgx:ajax-download="true">Скачать snapshot</button>
Разбор#
Frontend runtime вhtmx:beforeSwap переводит ответ в сценарий скачивания файла.
Когда использовать#
- Когда нужно обновлять часть страницы без полной перезагрузки (формы, фильтры, списки, таблицы).
- Когда нужно контролировать UX запроса: куда вставить ответ, по какому событию отправить и как обработать подтверждение.
Поведение в runtime#
- Тип: пользовательская директива.
- В sandbox директива
tgx:ajax-download: запрещена. - Это HTMX-мост: runtime маппит
tgx:в соответствующиеdata-hx-атрибуты.
Параметры#
Обязательные#
tgx:ajax-download— включает режим скачивания из HTMX-ответа.
Типы#
1|0,true|false.
Частые ошибки#
- Ожидать download при обычном JSON-ответе endpoint
- Не проверять, что endpoint реально возвращает файл
Проверка перед публикацией#
- У endpoint корректные заголовки для скачивания
- Для HTMX-запроса включен
tgx:ajax-download="true"