私は ZIP ファイルを提供する perl スクリプトの URL を持っています。これはデータを処理し、http ヘッダーに動的に設定Content-Type
します。'application/zip'
Perl コードは次のようになります。
WPHTTPResponse::setHeader( 'Content-disposition', 'attachment;filename="test.zip"');
WPHTTPResponse::setHeader( 'Content-type', 'application/zip');
print $result;
フロントエンドでは、このスクリプトを HREF で直接使用しています。
<a href="/script">Download</a>
$result
しかし、perl スクリプトで NULL の場合に警告メッセージを表示する必要があります。
私が考えているのは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);
}
}
});
助けていただければ幸いです。