私は 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);
     }
  }
});
助けていただければ幸いです。