我需要根据 ajax 响应的内容类型(使用 jQuery)打开一个 pdf。事先不知道响应类型,这就是我遇到此问题的原因:此代码不起作用(我得到一个空 PDF),这是我需要使用的代码:$.ajax("/route").done((data)=>{ console.log(URL.createObjectURL(new Blob([data], {type: 'application/pdf'})))})此代码有效,我的 PDF 通过单击链接正确显示。但是我事先不知道响应类型,所以我不能使用这个代码。$.ajax("/route", { xhrFields:{ responseType: 'blob' }}).done((data)=>{ console.log(URL.createObjectURL(data))})
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
除了确保路由确实返回 application/pdf 响应类型之外,这个问题似乎没有任何其他解决方案。然后我们可以这样使用pdf:
let data = api.get('/route', {responseType: "blob"})
let pdfBlob = new Blob([data], { type: "application/pdf" });
let pdfPreview = URL.createObjectURL(pdfBlob);
添加回答
举报
0/150
提交
取消