Я хочу загрузить файл excel при отправке формы через AJAX POST, однако я не получаю приглашение сохранить файл при использовании метода Dancers send_file
.Загрузить файл excel в Dancer - 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? Если да, я не знаю, что.
бы признателен помочь
Do браузеры не отображать всплывающее окно для сохранения по запросу Ajax? – a7omiton
^Да, это так. в этом случае мне придется реструктурировать мою просьбу. – a7omiton