Sha*_*aun 2 javascript php pdf ajax laravel
我正在使用Laravel 5.4,并且正在尝试使用Snappy PDF生成PDF下载。
我尝试这样做的原因是这样,这样我就可以将表单数据提交到PDF,而无需重新加载页面。
这是我的刀片模板:
<div>
Download a PDF: <button type="button" class=" btn-success btn-sm" id="js-download" >Download</button>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的路线:
Route::get('/download', 'FormController@generatePDF');
Run Code Online (Sandbox Code Playgroud)
这是我的控制器功能:
public function generatePDF(Request $request)
{
$pdf = PDF::loadView('pdf.download', $request);
return $pdf->download('download.pdf');
}
Run Code Online (Sandbox Code Playgroud)
这是我的.js文件:
$(document).on("click", "#js-download", function(e) {
e.preventDefault();
$.ajax({
url: '/download',
data: $("#js-pdf-form").serialize(),
success:function(data) {
console.log(data)
},
error:function() {
}
});
});
Run Code Online (Sandbox Code Playgroud)
如果我通过浏览器中的地址栏调用路由,则PDF可以工作,但是如果我单击按钮并尝试AJAX请求,则它会失败,但是它将控制台日志显示为PDF输出...
任何帮助将不胜感激。
代替它:
return $pdf->download('download.pdf');
Run Code Online (Sandbox Code Playgroud)
对此:
$pdf_file = 'download.pdf';
$pdf_path = 'public/pdf/'.$pdf_file;
$pdf->save($pdf_path);
return asset($pdf_path);
Run Code Online (Sandbox Code Playgroud)
不要忘记创建public / pdf文件夹...