Сообщение "ждите", пока выполняется скрипт на сервере
Здравствуйте!
На странице есть кнопка, при клике на которой происходит вызов скрипта на сервере, "createPdf.php", скрипт несколько секунд крутится, формирует и отдает pdf файл, браузер в это время ждет ответа. Хотелось бы развлечь пользователя, во время ожидания, табличкой типа "Ждите, формируется файл", как только скрипт заканчивает работу и появляется стандартное окошко сохранения файла, табличка убирается. Подскажите, как такое реализовать? Какое событие нужно обработать, чтобы понять, что скрипт закончил работу и браузер получил ответ? |
Если вы пользуетесь ajax + Jquery, то там предусмотрены так называемые функции обратного вызова, в которых вы можете реализовать то что хотите.
|
function showLoader() { $('#loadingDiv').show(); }; function hideLoader() { $('#loadingDiv').hide(); }; function doRequest() { showLoader(); $.ajax({ type: "POST", url: "youscript.xxx", success: function (result) { if (result == 'True') { alert("Request is done!"); } else { alert("Request is fail!"); }; }, complete: function () { hideLoader(); } }); }; Логика примерно такая, вот. :) |
Смысл понятен, да, спасибо.
Но мой скрипт на сервере возвращает PDF файл. Разве может XHR принять PDF? |
Вы можете по окончанию генерации pdf файла скриптом (я не знаю на каком языке вы пишете) создать и отослать пользователю ссылку по которой он и скачает файл. Это как вариант.
|
Или даже можно после формировании ссылки сделать автоматический клик(переход по ней). Ну и пойдёт загрузка pdf файла, как то так.
|
Dremlin, спасибо за советы.
Нашел решение здесь |
Всегда, пожалуйста! :)
|
Часовой пояс GMT +3, время: 23:37. |