我正在尝试使用从 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 解析为页面,然后运行此代码块。提前致谢。
1 回答
冉冉说
TA贡献1877条经验 获得超1个赞
好吧,首先你想从 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);
添加回答
举报
0/150
提交
取消