JSONデータを含むPOST経由でファイルをダウンロードするためのJavaScript / jQuery
jqueryベースの単一ページWebアプリケーションがあります。AJAX呼び出しを介してRESTful Webサービスと通信します。 私は次のことを達成しようとしています: JSONデータを含むPOSTをREST URLに送信します。 リクエストがJSONレスポンスを指定している場合、JSONが返されます。 リクエストがPDF / XLS / etc応答を指定している場合、ダウンロード可能なバイナリが返されます。 現在1と2が機能しており、クライアントのjqueryアプリは、JSONデータに基づいてDOM要素を作成することにより、返されたデータをWebページに表示します。また、#3はWebサービスの観点からも機能しています。つまり、正しいJSONパラメーターを指定すると、バイナリファイルが作成されて返されます。しかし、クライアントのJavaScriptコードで#3を処理する最良の方法がわかりません。 このようなajax呼び出しからダウンロード可能なファイルを取得することは可能ですか?ブラウザでファイルをダウンロードして保存するにはどうすればよいですか? $.ajax({ type: "POST", url: "/services/test", contentType: "application/json", data: JSON.stringify({category: 42, sort: 3, type: "pdf"}), dataType: "json", success: function(json, status){ if (status != "success") { log("Error loading data"); return; } log("Data loaded!"); }, error: function(result, status, err) { …