Я АНИ, который производит пользовательский первенствует файл на основе параметров запроса:перехватывают с помощью JavaScript
Вот вызов для файла Excel:
window.location = Service.API_ENDPOINT + '/report/GetAReport' + generateQueryParams();
Вопрос заключается в том, что иногда нет данных для заполнения электронной таблицы (которая соответствует параметрам запроса), и пользователь загружает пустую электронную таблицу. В этих случаях я хотел бы открыть сообщение, в котором говорится что-то вроде «никаких результатов для ваших параметров». Вопрос в том, как это сделать.
Я думал, что я могу настроить api, чтобы вернуть что-то другое, кроме файла, если нет результатов запроса (возможно, даже ошибка сервера), но как я могу воздействовать на него на стороне клиента? Я имею в виду, как мне изменить этот вызов, чтобы он загружал файл в случаях, когда он есть, но отображает сообщение, когда что-то еще отправляется сервером, и что должно быть «что-то еще»?
Заранее спасибо.
Вы можете настроить сервер для ответа на запрос HEAD по этому пути, который возвращает 404, если это приведет к пустой электронной таблице, а затем выполнить запрос ajax, чтобы убедиться, что это не 404, прежде чем перенаправить пользователя в электронную таблицу. –
@KevinB хм, запрос довольно трудоемкий, хотя. Любой способ сделать это без необходимости повторять одну и ту же логику на стороне сервера? – pQuestions123
Не совсем, если вы не хотите скачать его clientide, как-то его проверить, а затем попытаться заставить браузер загрузить его с помощью атрибута загрузки и данных-uri (который не работает во всех браузерах) –