Javascript Laravel,Vue.js |通过axios请求下载空白pdf
我一直试图通过axios从我的Laravel应用程序下载PDF,但下载的文件是空的PDF 我正在使用DomPdf创建pdf并下载.js下载它,下面是我的代码 注意:如果我尝试在没有ajax请求的情况下下载它,它就可以正常工作 拉雷维尔 return PDF::loadView'print',compact'bill'->下载$bill->number..PDF'; JavascriptJavascript Laravel,Vue.js |通过axios请求下载空白pdf,javascript,laravel,vue.js,axios,dompdf,Javascript,Laravel,Vue.js,Axios,Dompdf,我一直试图通过axios从我的Laravel应用程序下载PDF,但下载的文件是空的PDF 我正在使用DomPdf创建pdf并下载.js下载它,下面是我的代码 注意:如果我尝试在没有ajax请求的情况下下载它,它就可以正常工作 拉雷维尔 return PDF::loadView'print',compact'bill'->下载$bill->number..PDF'; Javascript ``axios.get(`/bills/${id}/print` { responseType: 'blob'
``axios.get(`/bills/${id}/print` {
responseType: 'blob',Accept: 'application/pdf'
})
.then(response => {
const download = require('@/download');
// @ is just an alias for my root js directory.
download(response.data, `file.pdf`, 'application/pdf');
});``
请尝试以下代码:
在Laravel控制器中:
$pdf = PDF::loadView('finance.remainingFee', compact('fee', 'time'));
$pdf->setPaper('a4' , 'portrait');
return $pdf->output();
在Vue文件中:
axios.get(APP_URL + `api/finance/remainingStudentFee/${fee_id}`, {responseType: 'blob'}).then(response => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'remaining_fee.pdf'); //or any other extension
document.body.appendChild(link);
link.click();
})
.catch(error => {
console.log(error);
})
您是否使用浏览器工具确保从GET请求中获取PDF?如果您在浏览器开发工具中设置断点,您是否看到响应中的PDF内容。数据?奇怪的是,问题与axios有关,我在stackoverflow上随机发现了它。最后使用了它的一个答案,建议使用xlhttprequest,它起作用了。