Как преобразовать XML текст, полученный через AJAX запрос в файл - PullRequest
1 голос
/ 19 февраля 2020

Я делаю запрос 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 текст ?

1 Ответ

1 голос
/ 19 февраля 2020

Если вы получаете URL-адрес XML, а не содержимое файла XML, вы можете использовать заголовки, такие как

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

. Это заставляет браузер загружать XML. Вам не нужно создавать ссылку на лету и щелкать по ней программно, просто откройте полученный URL, перенаправив (location.href) или откройте в новом окне / вкладке (window.open). Последнее удобно, если вы хотите оставаться на текущей странице, но ограничено в некоторых случаях. Веселись!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...