powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Диалоговое окно загрузки файла и callback при завершении запроса
3 сообщений из 3, страница 1 из 1
Диалоговое окно загрузки файла и callback при завершении запроса
    #38352282
jivamusic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте форумчане.
Стоит задача, при клике на кнопку инициировать загрузку csv файла браузером.

Начну с серверной стороны: по ссылке site.com/export отдается файл с правильными заголовками, который инициирует загрузку.
С этим проблем не возникало. Но, это произойдет, если просто перейти по этой ссылке. А что сделать, если нужно без перезагрузок страницы, открытий новых вкладок, просто предложить пользователю загрузить?
Натолкнулся на вариант:
- создаем скрытый iframe на странице
- создаем форму в качестве target для которой устанавливаем iframe

И такой вариант прекрасно работает. Набросок кода:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
var iframe = $('<iframe></iframe>')
   .attr( 'name', 'iframe-export-container' )
   .css( 'display', 'none' )
   .appendTo( $('body') );

var form = $('<form></form>').attr({
   'target' : 'iframe-export-container',
   'method' : 'POST'
})
form.appendTo( $('body') );
form.submit();



Так как количество данных большое, время экспорта занимает 2-10 сек. И вот появился вариант, показывать обычный лоадер на старте экспорта и скрывать при окончании, чтобы пользователь не сидел в недоумении, что происходит.
С этим пунктом, возникли проблемы. А как собственно отследить, что submit отправленный на iframe успешно завершен?
Если бы использовался ajax запрос, то здесь все понятно, есть callback, а что с этим делать не могу понять.
...
Рейтинг: 0 / 0
Диалоговое окно загрузки файла и callback при завершении запроса
    #38352293
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) отправить ajax запрос на формирование документа,
2) получить в ответ через N секунд уникальную ссылку на скачивание,
3) вставить полученную ссылку во фрейм,
4) ???
5) PROFIT
...
Рейтинг: 0 / 0
Диалоговое окно загрузки файла и callback при завершении запроса
    #38352305
jivamusic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы1) отправить ajax запрос на формирование документа,
2) получить в ответ через N секунд уникальную ссылку на скачивание,
3) вставить полученную ссылку во фрейм,
4) ???
5) PROFIT

Спасибо большое, отличный вариант!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Диалоговое окно загрузки файла и callback при завершении запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]