У меня есть URL-адрес скрипта perl, который дает мне ZIP-файл, обрабатывает данные и динамически устанавливает Content-Type
в 'application/zip'
в http-заголовке.Обработка динамического содержимого HTTP-содержимого с помощью jquery Ajax
код Perl выглядит следующим образом:
WPHTTPResponse::setHeader('Content-disposition', 'attachment;filename="test.zip"');
WPHTTPResponse::setHeader('Content-type', 'application/zip');
print $result;
В веб-интерфейсе, я использую этот скрипт прямой в HREF:
<a href="/script">Download</a>
Но у меня есть требование показывать предупреждающее сообщение, если $result
является NULL в perl-скрипте.
Я думаю, что я отправлю файл с Content-Type=>application/zip
, если $ result, если не null, в противном случае я отправлю ответ JSON с сообщением об ошибке, что нет файла для загрузки.
Для этого мне нужно будет динамически проверять тип содержимого с помощью JS:
$.ajax({
url: '/script',
data: {....},
success: function(response) {
if(response.contentType == 'application/zip'){
//download using javascript
}
else{
$.parseJSON(response);
alert(response.msg);
}
}
});
Я был бы признателен за любую помощь.