2

Excelファイルを提供するSpringMVCビューがありますが、ユーザーがExcelをダウンロードする前にいくつかのオプションを選択できるモーダルボックスを取得するようにプロセスを変更しました。これらの選択されたオプションがビューに送信されます。

私のリクエストは次のようになります

$.get("downloadExcel", {  
    'foo': 'bar'
});

そのリクエストが行われたとき、私はファイルがダウンロードされることを期待していますが、それは起こっていません。上記のリクエストからの応答ヘッダーは次のとおりですが、

Cache-Control:private, must-revalidate
Content-disposition:attachment; filename=filename.xls
Content-Language:en-US
Content-Type:application/vnd.ms-excel; charset=ISO-8859-1
Pragma:private
Server:Jetty(6.1.14)
Transfer-Encoding:chunked 

:ダイアログボックスを削除すると、すべてが正常に機能するため、リクエストはajaxリクエストではなくなります。

質問

ajaxリクエストを介してExcelファイルをフェッチする方法はありますか?

4

1 に答える 1

2

Ajax応答を使用してこれを行うことはできません。ダウンロードを開始するには、ブラウザをリダイレクトするか、ページに非表示のiFrameをレンダリングする必要があります。

于 2012-11-19T00:42:34.580 に答える