Member 14061262 Ответов: 1

Javascript fetch не работает в internet explorer


Я реализовал на JavaScript принести для вызова веб-API в разделе Представление MVC cshtml по. Он работает в Chrome/Edge, но не работает в IE. Как заставить fetch() работать в IE.

Ниже приведен код, используемый в моем приложении для вызова метода действия MVC с помощью fetch()
<script src="//cdn.jsdelivr.net/bluebird/3.5.0/bluebird.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fetch/2.0.3/fetch.js"></script>

    $("#btnExcelDownload").click(function(){
        window.fetch("/Home/DownloadExcelTemplate", {
            method: 'GET',
            headers: new Headers({
                'AntiForgeryToken': 'XSS6GDB'
            })
       })
    .then(response => response.blob())
     .then(blob => {

        var linkElement = document.createElement('a');
        var url =  URL.createObjectURL(blob);

         linkElement.setAttribute('href', url);
         linkElement.setAttribute("download", '@request.Name'+"_Catalog.xlsx");
         //for Firefox
         document.body.appendChild(linkElement);

         linkElement.click();
         document.body.removeChild(linkElement);   });

    });


Что я уже пробовал:

Я попытался добавить polyfill, как указано в коде, но это не сработало.

1 Ответов

Рейтинг:
1

Richard Deeming

Вы включили полифилл для Promise и это тоже?

Вам также понадобится полифилл обещания для старые браузеры[^]. Мы рекомендуем taylorhakes/обещание-полифилл[^] для его небольшого размера и совместимости с обещаниями/A+.