从 AJAX 检索 XML 数据,提示用户下载
Retrieve XML data from AJAX, prompt user to Download?
我正在处理项目的客户端部分,并且遇到当前从服务器接收 XML 数据块的情况,我正在尝试获取该信息并提示用户使用它下载。这可能吗?
这是我的代码:
var holder =
jQuery.ajax({
type: "POST",
url: "xml_comes_back.json",
data: {param : info,
param2 : info2
},
dataType: ($.browser.msie) ? "text" : "xml",
success: function(data) {
$('#selector').prev().empty().html('<a href="' + data + '" id="download">Ready for Download</a>');
$('#download').click(function() {
//Prompt download for xml stored in 'data' here
});
},
error:function (xhr, ajaxOptions, thrownError) {
alert('error')
}
});
}
我在尝试实现这一目标时遇到了重大问题。是否可以在没有服务器通过 URL 创建和存储的情况下下载此文件?我只想使用正确的标题动态接收数据并让下载链接正常工作。
下面是从 ajax 调用成功返回的响应标头:
Content-Disposition:attachment; filename=theFile.xml
Content-Type:application/force-download;charset=UTF-8
将它们链接到生成文件的页面,包括内容类型标头,以便强制他们下载文件(或使用 JavaScript 重定向它们)。我相信现代浏览器会简单地下载它,而不会实际打开一个新窗口。
如果您从 ajax 获得的信息是 url,而不仅仅是使用"window.location = data"到一个页面,该页面将具有正确的内容类型和内容处置,这将强制用户下载。我认为它不会打开一个新的选项卡/窗口。
相关文章:
- 提示用户通过AJAX调用保存文件
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- node-webkit:将数据导出到csv并提示用户保存文件
- 如何创建一个提示用户输入登录id和密码的网站
- 使用数据URI提示用户保存文件
- 不断提示用户一个数字,直到它落入某个范围
- Jquery:在一个字符串中查找所有实例模式,提示用户替换模式的所有实例,然后进行替换
- 提示用户在Google Apps Script上输入,“getUi()”方法出错
- 如何提示用户在 HTML/JS 中输入密码,让他们无法在页面源代码中找到密码
- 在while循环之后提示用户,并根据用户的回答使变量等于一个值(javascript)
- 使用 Javascript 在命令提示符下提示用户输入
- 使用自定义对话框提示用户尝试使用未保存的数据进行导航
- MVC.NET提示用户登录
- 在IE 11上加载之前-不提示用户不工作
- IE9提示用户提交隐藏的iFrame
- Facebook解析验证未提示用户授予权限
- 在不提示用户的情况下离开页面时执行的Javascript函数
- 模态中未保存的信息会提示用户在退出模态之前进行保存
- Node.Js提示用户输入
- 在 JavaScript 中使用 for 循环编写代码,提示用户输入任意数量的数字,打印这些数字中最大和最小的数字