@vista1x

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

Здравствуйте!
Опишу ситуацию: есть PHP-скрипт, который генерирует zip-архив и отдает его на скачивание браузеру. В процессе создания архива могут возникнуть ошибки, в этом случае отдаются json-данные о этой ошибке. Сам скрипт вызывается из JS.
Сейчас в JS это реализовано так:
location.href='/scr.php';
Если ошибок нет, файл нормально скачивается браузером. Если ошибки есть, происходит переход на scr.php, на которой отображается текст в JSON-формате.
Вопрос: как обрабатывать эту ошибку в JS и действовать в зависимости от ситуации?
  • Вопрос задан
  • 2419 просмотров
Решения вопроса 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);

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

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

Похожие вопросы