想要显示成功消息并生成pdf

时间:2019-06-08 15:50:12

标签: ajax laravel dompdf sweetalert

我想在使用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?

0 个答案:

没有答案