Jquery AJAX(或AJAX风格)文件下载
这是一个以各种不同方式提出的常见问题,我收集了下面的一些链接,并解释了为什么它们不起作用。我正在寻找以下问题的完整解决方案 在我正在开发的web应用程序中,需要下载AJAX风格的文件,并满足以下要求Jquery AJAX(或AJAX风格)文件下载,jquery,ajax,http,http-headers,download,Jquery,Ajax,Http,Http Headers,Download,这是一个以各种不同方式提出的常见问题,我收集了下面的一些链接,并解释了为什么它们不起作用。我正在寻找以下问题的完整解决方案 在我正在开发的web应用程序中,需要下载AJAX风格的文件,并满足以下要求 用户可以单击链接下载文件,而无需指向新页面,将收到一个正常的“另存为…”对话框,我们都习惯于在web浏览器中下载文件 如果由于某种原因服务器无法提供文件,则应调用javascript回调。类似地,如果服务器成功地提供文件 需要能够修改HTTP请求头,以指定请求中的内容类型HTTP头 支持所有A级浏览
function SaveContents(element) {
if (typeof element == "string")
element = document.getElementById(element);
if (element) {
if (document.execCommand) {
var oWin = window.open("about:blank", "_blank");
oWin.document.write(element.value);
oWin.document.close();
var success = oWin.document.execCommand('SaveAs', true, element.id)
oWin.close();
if (!success)
alert("Sorry, your browser does not support this feature");
}
}
}
所需的HTML示例:
<textarea id="myText"></textarea><br />
<button type="button" onclick="SaveContents('myText');">Save</button>
拯救
这将把给定textarea的内容保存到一个名为textarea ID的文件中
对于其他浏览器,您可以阅读以下内容:
测试用例和工作示例:(仅IE…)那么,将我原始问题(b)中的解决方案与您的IE技术和其他浏览器的数据URI结合起来会解决问题吗?