Сообщение "ждите", пока выполняется скрипт на сервере
Здравствуйте!
На странице есть кнопка, при клике на которой происходит вызов скрипта на сервере, "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, время: 22:10. |