我有以下代码来下载.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
) 并返回流。