簡體   English   中英

使用從ajax調用返回的html下載文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM