1

すべての送信リクエストにカスタム リクエスト ヘッダーを設定することで、アプリケーションを介して行われたすべてのリクエストを追跡しようとしています。以下を使用してこれを達成できました:

$ajax.Setup(
    beforeSend: ...

しかし、dom 要素 (iframe、video、object など) の src 属性がリクエストを開始しているときに問題が発生しました。検索すると、iframe src を変更するときにカスタム http ヘッダーを設定する方法を見つけました。 ただし、これを試みたところ、ダウンロード ダイアログを開始することができませんでした。そのコードは次のようになりました。

var request = $.ajax({
    context: this,
    url: URI,
    type: 'GET',
    statusCode: {
       200: function(data) {
           var id = '#download-iframe';
           var $iframe = $(id);
           if($iframe.length === 0) {
              $iframe = $('<iframe>')
                 .attr('id', 'download-iframe')
                 .appendTo('body');
           }
           $iframe.contents().find('html').html(data);
        }
     }
});

そのリクエストのレスポンス ヘッダーは次のようになります。

Content-Disposition:attachment; filename="PDF.pdf"
Content-Length:86712
Content-Type:application/pdf;charset=UTF-8

これにより、生データが iframe に表示されましたが、ダウンロードは開始されませんでした。

A) (推奨) DOM 要素 src を設定してリクエスト ヘッダーを別の方法で設定するか、B) ダウンロード ダイアログを取得して開始します。

4

1 に答える 1