如何将通过AJAX请求接收的XML文本转换为文件

问题描述 投票:1回答:1

我正在向服务器发出AJAX请求,并以XML文本的形式获得响应,并且我尝试了多种方法将其转换为可下载的文件,但没有任何工作。

我为pdf做过类似的事情,但不同之处在于,对于pdf,内容以斑点形式返回,这是代码:

         $.ajax({
            method: "GET",
            beforeSend: function(request) {
                request.setRequestHeader("Authorization", bearer));
            },
            url: url,
            xhrFields: {
                responseType: "blob"
            },
            success(blob) {
                var link = document.createElement("a");
                link.href = window.URL.createObjectURL(blob);
                link.download = "file.xml";
                link.click();
            }
        });

我如何转换此代码,以便在接收XML文本时,其工作方式相同?

javascript ajax xml file
1个回答
0
投票

如果您收到的是XML的网址而不是XML文件的内容,则可以使用类似的标题

Content-Type: application/octet-stream
Content-Disposition: attachment; filename="file.xml"

它将强制浏览器下载XML。您无需动态创建链接并以编程方式单击该链接,只需通过重定向(location.href)打开接收的URL或在新选项卡中打开(window.open)。如果您想确保停留在当前页面上,但在某些情况下会受到限制,则比较方便。玩得开心!

© www.soinside.com 2019 - 2024. All rights reserved.