私のアプリケーションは、XLS形式でダウンロードできるレポートを生成する必要があります。私はDjango Rest Frameworkを使用してREST APIを構築しました。レポート生成のエンドポイントがあります。これは、JSON本体(レポートのパラメータ:from
、to
などのようなPOST要求を受け入れますが、JSONオブジェクトで表されるデータもあります)を取得し、JSON結果を返します。私は正常にJavascriptからそれを使用し、HTMLテーブルとしてレポートをレンダリングし、うまく動作します。ユーザーがREST APIからレポートを保存する方法を教えてください。
私の問題は、適切なファイル名(myawesomereport.04.12-10.12.xls
のような.xls
ファイル)としてレポートを保存する必要があるということです。JSデータのURLアプローチを試しましたが、わかっている限り、あなたがそのオプションを持っているならば(a
タグのdownload
属性を設定することを除いて、しかしそのサポートは限られているので、行く方法ではありません)。私はAPIエンドポイントのurlが適切に形成された新しいウィンドウを開くべきかもしれないXLSファイルを出力しますが、そのリクエストでJSONを送信する方法があるかどうか分かりません。
しかし、どのように私は、最初の場所でこの要求にJSONデータを供給することができますか? – Cracker
POSTリクエストを使用してコンテンツをダウンロードするのはあまり一般的ではありません。 GETリクエストを使用して、あなたの引数をurl paramsとして渡すことができます。 または、独自のリンクを返すPOSTリクエストを使用して、 'window.open(data.url)'を使用して開くことができます。 – JoseKilo