1.如果是是get请求,且参数只有很少,例如:
location.href = `${process.env.VUE_APP_API_BASE_URL}xxx/xxxx/printOrderPdf?id=${this.baseInfo.id}`
2.如果是post请求,或者参数很多则:
this.$http({
method: 'post',
url: 'xxx/xxx/printOrderPdf',
data:this.pdfParams,//查询所需参数
responseType: 'blob'
}).then((resp) => {
if (resp.status === 200) {
let blob = new Blob([resp.data])
let elm = document.createElement('a');
//创建下载的链接
let href = window.URL.createObjectURL(blob);
elm.href = href;
elm.download = 'XXXX.PDF';
document.body.appendChild(elm);
elm.click();
//下载完成移除元素
document.body.removeChild(elm);
//释放掉blob对象
window.URL.revokeObjectURL(href);
} else {
this.visibleAlert = true
this.visibleAlertText = "导出PDF失败"
}
}).catch((error) => {
console.log(error)
})