我有以下代码来下载.csv文件:
$.ajax({
url: urlString,
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function(data) {
if (data) {
var iframe = $("<iframe/>").attr({
src: data,
style: "visibility:hidden;display:none"
}).appendTo(buttonToDownloadFile);
} else {
alert('Something went wrong');
}
}
});
urlString指向一个 Restful 服务,该服务生成文件.csv并返回分配给 iFrame 的 src 属性的文件路径。这适用于任何.csv文件,但我遇到.xml文件问题。
当我使用相同的代码但更改contentType为text/xml并使用它来下载.xml文件时,这不起作用。
我可以在这里对.xml文件使用相同的方法吗?
更新:
感谢 Ben 为我指明了正确的方向。事实证明我根本不需要 ajax 调用。相反,我可以只使用 iFrame 及其 url 属性来调用 Web 服务,它将生成内容、添加标头 ( Content-Disposition) 并返回流。