[英]Download file using html returned from ajax call
我正在嘗試使用從 ajax 調用返回的 html 在同一頁面上下載文件。 ajax 調用如下所示:
$.ajax({
url: './xyz.cshtml',
type: "POST",
data: {
//some validation and data to send to server.
},
success: function (data, status, xhr) {
//alert('status: ' + status + ', data: ' + data);
var result = $(data);
console.log(result);
result.appendTo("body");
}
});
html 看起來像這樣:
<iframe width='1' height='1' frameborder='0' src='http://server//some_folder/some.xlsm'></iframe> <script>document.body.style.cursor = 'default';</script>
基本上,我想解析這個 iframe,然后在同一頁面上運行它。 當 iframe 中的代碼運行時,文件將下載。 因此,我需要幫助將此 html 解析為頁面,然后運行此代碼塊。
提前致謝。
好的,所以首先您想從 iframe 中獲取該 src,然后創建錨點 dom 元素並單擊它。 我想這應該可以解決問題
var ajaxResponse = "<iframe width='1' height='1' frameborder='0' src='http://server//some_folder/some.xlsm'></iframe> <script>document.body.style.cursor = 'default';</script>";
// this function will simply download the file
function download(filename, dataurl) {
var a = document.createElement("a");
a.href = dataurl;
a.setAttribute("download", filename);
a.click();
}
var regex = /<iframe.*?src='(.*?)'/;
var src = regex.exec(ajaxResponse)[1]; // src from that iframe
download("SomeFileName.xmlsm", src);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.