如何使用jQuery在本地保存XML响应?

时间:2013-07-17 16:09:49

标签: jquery xml

我正在制作一个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.");
    }
});

在这种情况下,formatxml

2 个答案:

答案 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,而是提供一个链接。