3

我正在发出 AJAX 请求。返回response的是一个 XML。

如何让用户在response本地保存为 XML 文件success

$.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

4

2 回答 2

2

使用数据 URI 会让你在那儿走得更远。

window.open("data:text/xml;base64," + window.btoa(xmlString));

使用“application/octet-stream”而不是“text/xml”甚至会在 FF 和 Chrome 中强制下载提示。

不幸的是,数据 URI 有大小限制,使用内容可编辑和 exec 'save' 或 'saveas' 命令可能有更聪明的方法。

于 2013-07-17T16:26:55.950 回答
1

成功后,将响应 XML 呈现在 textarea 或仅 div 中,并让用户将结果复制+粘贴到文本编辑器中。然后他们可以从编辑器中保存文件。

或者

与其直接发出 xml,不如提供指向它的链接。

于 2013-07-17T16:25:25.807 回答