我正在制作一个AJAX请求。返回的response
是XML。
如何让用户在response
本地将success
保存为本地XML文件?
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(myJson),
contentType: "application/json",
dataType: format,
success: function(response)
{
console.log("Exported JSON: " + JSON.stringify(myJson));
console.log(response);
jQuery.parseXML(response);
},
error: function()
{
console.log(arguments);
alert("Export process failed.");
}
});
在这种情况下,format
为xml
。
答案 0 :(得分:2)
使用数据URI可以帮助您实现目标。
window.open("data:text/xml;base64," + window.btoa(xmlString));
使用“application / octet-stream”代替“text / xml”甚至会在FF和Chrome中强制下载提示。
不幸的是,数据URI有大小限制,可能有一种更聪明的方法,使用内容可编辑和exec'save'或'saveas'命令。
答案 1 :(得分:1)
成功时,在textarea或div中呈现响应XML,并让用户将结果复制+粘贴到文本编辑器中。然后,他们可以从编辑器中保存文件。
或
而不是直接发送xml,而是提供一个链接。