我想在使用ajax调用提交表单后生成pdf。我写了一个ajax函数,我想用ajax函数提交表单并显示成功提示。之后,使用dompdf生成pdf。
这是我的控制器功能
public function store(Request $request)
{
$stock = new Stock;
$stock->bill_no = $request->input('bill_no');
$stock->date = $request->input('pawning_date');
$stock->price = $request->input('price');
$stock->duration = $request->input('duration');
Alert::success('Saved Successfully!', 'Pawning details saved
successfully!')->autoclose(3500)->persistent('Close');
$pdf = \App::make('dompdf.wrapper');
$pdf = PDF::loadView('dashboard.report.invoice-pdf',['data' => $data])
->setPaper('a4', 'portrait');
return $pdf->stream('invoice.pdf', array('Attachment'=>0));
}
这是我提交表单的ajax请求。
$(document).ready(function(){
$('#pawning_form').on('submit', function(event){
event.preventDefault();
var form_data = $(this).serialize();
$.ajax({
url: "{{route('pawning.store')}}",
method: "POST",
data: form_data,
dataType: "json",
success: function(data){
swal("Good job!", "Pawning details saved successfully!", "success");
}
})
});
});
之后,我想重置并调用ajax中的发票生成功能。
function getInvoice(){
$.ajax({
type: "GET",
url: "{{route('invoice.no')}}",
dataType: 'json',
success: function(data){
$('#bill_no').val(data.invoice);
$('#pawning_date').val(data.date);
},
error: function(response) {
alert(response.responseJSON.message);
}
});
}
我的表单提交数据已正确保存并显示成功消息。但是表单重置和pdf生成不起作用。我该怎么办?
是否有可能在ajax响应后生成pdf?