0
我想通過AJAX POST下載表單提交的excel文件,但是當使用舞者send_file
方法時,我沒有收到提示保存文件。下載Dancer中的excel文件 - jQuery AJAX
請參閱以下內容:
路線:
post '/:date' => sub {
my $report_date = param('date');
my $data = param('stuff');
my $rep = $report->build($report_date, $data);
return send_file("reports/$rep", content_type => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
};
在該路線的build
方法一旦創建它返回的文件名。 Ajax請求的樣子:
$('#report').submit(function(event){
event.preventDefault();
$.ajax({
'url': $(this).attr('action'),
'type': 'POST',
'data': {stuff: ...},
'success': function(res){
console.log(res);
}
});
以上的console.log不返回任何內容,但是我得到的迴應似乎好,用Excel文件中的內容,但沒有提示:
Connection:Keep-Alive
Content-Disposition:attachment; filename="10-2014_1414869186.xlsx"
Content-Length:7161
Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Date:Sat, 01 Nov 2014 19:13:06 GMT
Keep-Alive:timeout=5, max=100
我是否需要爲AJAX的成功迴應做些事情?如果是這樣,我不知道是什麼。
將不勝感激幫助
做瀏覽器不是爲節省Ajax請求顯示彈出式的唯一的事? – a7omiton 2014-11-02 14:21:45
^是這樣的情況。在這種情況下將不得不重新調整我的請求。 – a7omiton 2014-11-02 14:31:06