当用户提交表单时,我有一个简单的表单,我将表单数据从ajax发送到我的pdf生成代码所在的控制器,但是在成功执行ajax调用后,PDF无法下载
这是我的控制器代码
$temp=TempInvoice::where('id',$id)->get();
$pdf = PDF::loadView('pages.pdf', ['data'=>$temp]);
$pdf->download('invoice.pdf');
和我的javascript ajax
var data2=result
$.ajax({
type: 'POST',
url: '/tyre/api/pdf',
data: {data:j},
success: function (data) {
console.log(data);
},
})
能帮我吗, (对于正常的请求,它可以正常工作,但对于ajax请求,它将不起作用) 您能为我提供任何解决方案吗?还是我应该先提交表格然后生成pdf?
请让我知道我需要的任何输入信息,
任何提示或评论
答案 0 :(得分:1)
将此代码替换为$pdf->download('invoice.pdf');
return $pdf->stream('invoice.pdf')
->header('Content-Type','application/pdf');
与stream
一起使用的header
函数
另一种方式(根据我的评论使用return
)
$pdf = PDF::loadView('pages.pdf', ['data'=>$temp]);
return $pdf->download('invoice.pdf');
最后:确保您正确配置了软件包。 Reference for package configuration