我試圖讓瀏覽器從ajax響應中下載一個pdf文件。從ajax響應下載pdf文件
通過Download pdf file using jquery ajax啓發我模擬點擊/下載事件是這樣的:
var req = new XMLHttpRequest();
req.open("POST", "/servicepath/Method?ids=" + ids, true);
req.responseType = "blob";
req.onreadystatechange = function() {
if (req.readyState === 4 && req.status === 200) {
var blob = req.response;
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "PdfName-" + new Date().getTime() + ".pdf";
link.click();
}
};
req.send();
不幸的是這隻能在Chrome中,而在Firefox + IE。當我嘗試在最後兩個瀏覽器中觸發它時,沒有任何反應。
腳本和標記被放置在iframe中,由於從CMS繼承,但我不知道是否有任何影響的。
如何優化它爲所有現代瀏覽器的任何想法?
你得到任何錯誤? – Cristy
檢查IE中的控制檯,讓我們知道,如果它拋出任何錯誤 –