@vista1x

Отдать файл из PHP?

Здравствуйте!
Опишу ситуацию: есть PHP-скрипт, который генерирует zip-архив и отдает его на скачивание браузеру. В процессе создания архива могут возникнуть ошибки, в этом случае отдаются json-данные о этой ошибке. Сам скрипт вызывается из JS.
Сейчас в JS это реализовано так:
location.href='/scr.php';
Если ошибок нет, файл нормально скачивается браузером. Если ошибки есть, происходит переход на scr.php, на которой отображается текст в JSON-формате.
Вопрос: как обрабатывать эту ошибку в JS и действовать в зависимости от ситуации?
  • Вопрос задан
  • 2417 просмотров
Решения вопроса 1
Делайте запрос ajax-сом. Если все нормально, то возвращайте ссылку на созданный zip-архив и делайте переход на неё или создавайте тег a и эмулируйте клик по ней:
var link = document.createElement("a");
link.href = "test";
link.download = "test.zip";
var event = document.createEvent("MouseEvents");
event.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
link.dispatchEvent(event);

Ну а если есть ошибки, то тут вы можете обработать как вашей душе угодно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект