現在、このマークアップには 2 つのリンクがあり、両方を AJAX 経由で呼び出そうとしています。
使用した開始日と終了日に基づいてクエリを実行する検索があり、開始日と終了日を使用して Excel ドキュメントをダウンロードしようとしている Excel へのエクスポート リンクがあります。
#export
$.ajax
Excel ドキュメントをダウンロードするための呼び出しを取得することを除いて、すべて正常に動作します。
jQuery で Excel ドキュメントをダウンロードするにはどうすればよいですか?
<a href="#" class="buttonH bBlue" id="export">Export to Excel</a>
<a href="#" class="buttonH bBlue" id="search">Search</a>
<div class="headInput" id="reportsDateSearch">
<input type="text" name="start_date" placeholder="<%= @end_date %>" class="datepicker" id="endDate" />
<input type="text" name="end_date" placeholder="<%= @start_date %>" class="datepicker" id="startDate" />
</div>
jQuery AJAX 呼び出し:
// This call gets the data based on the start and end date used
$('#search').on('click', function() {
$.ajax({
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "text/javascript");
},
url: '<%= reports_affirmative_action_path %>',
data: {start_date: $('#startDate').val(), end_date: $('#endDate').val()}
}, null, 'script');
});
// This call gets the data based on the start and end date used, but i'm trying to get it to return the xlsx format.
$('#export').on('click', function() {
$.ajax({
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
},
url: '<%= reports_affirmative_action_path(:format => :xlsx) %>',
data: {start_date: $('#startDate').val(), end_date: $('#endDate').val()}
}, null, 'script');
});