レポートを表示する Web ページがあり、動的なフィルターのセットがあります。
ユーザーが名前付きレポートを選択すると、ページは WebApi から有効なフィルターを JSON リストとして取得します。ユーザーがフィルターを選択すると、グリッドに結果が表示されます (これも WebApi 呼び出しを介して)。これまでのところすべて順調です
ここで、データをファイル (Excel など) としてダウンロードできるようにしましたが、問題が発生しました。
ブラウザーがファイルをダウンロードできるように、JSON フィルター データを含むHttpPost (ただし、AJAX投稿ではない) を送信します。JQuery の $.ajax または $.post は使用できません。これは、データがコールバックで返され、ブラウザーが処理するダウンロードとして返されないためです。
タグと送信ボタンを試してみましたが、StackOverflow を検索すると、JSON 本文ではなく、名前と値のペアとしてのデータの送信のみがサポートされていることがわかりました。あなたが違うことを知らない限り?
最も簡単な方法は、非表示のコントロールでエンコードされた JSON の内容を使用して、単一の非表示の入力フィールドを使用し、サーバーでこれを手動で逆シリアル化することでしょうか?