letronje的解决方案仅适用于非常简单的页面。
document.body.innerHTML +=接受正文的HTML文本,附加
iframe HTML,然后将页面的innerHTML设置为该字符串。这将抹除您的页面具有的所有事件绑定。创建一个元素并appendChild改为使用。
$.post('/create_binary_file.php', postData, function(retData) { var iframe = document.createElement("iframe"); iframe.setAttribute("src", retData.url); iframe.setAttribute("style", "display: none"); document.body.appendChild(iframe);});
或使用jQuery
$.post('/create_binary_file.php', postData, function(retData) { $("body").append("<iframe src='" + retData.url+ "' style='display: none;' ></iframe>");});
这实际上是做什么的:使用变量postData中的数据执行到/create_binary_file.php的发布;如果该帖子成功完成,则在页面正文中添加一个新的iframe。假设来自/create_binary_file.php的响应将包含值’url’,这是可从中下载生成的PDF / XLS / etc文件的URL。假定Web服务器具有适当的mime类型配置,则将iframe添加到引用该URL的页面将导致浏览器提示用户下载文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)