Я хочу загрузить файл Excel при отправке формы через AJAX POST, однако я не получаю приглашения сохранить файл при использовании метода Dancers send_file
.
См. Ниже:
Маршрут:
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? Если так, то я не знаю, что именно.
Был бы признателен за помощь