FETCH IE11:在IE 11中第二次获取不起作用

时间:2019-12-24 10:54:07

标签: javascript internet-explorer fetch-api polyfills

第一次调用fetch时,一切正常。在第二次通话中,我得到了错误。它可以在Chrome中正常运行。已连接Polyfill提取。

以下代码在将其上传到服务器之前会转换为ES5。 我隐藏了一些变量。

const url = `Fake url for example`;
function addData(data) {
            console.log("Affiche", data);
            const randomAffiche = data.data[getRandomInt(data.data)];
            const date = randomAffiche.PROPERTY_DATES_VALUE.split('-')[1];
            eventImgElem.src = randomAffiche.IMG;
            eventTitleElem.innerHTML = randomAffiche.NAME;
            eventTitleElem.href = randomAffiche.DETAIL_PAGE_URL;
            eventLink.href = randomAffiche.DETAIL_PAGE_URL;
            eventDate.innerHTML = getMonth(date);
            eventLink.innerHTML = randomAffiche.PROPERTY_VENUE_VALUE;
            whereToGoLink.href = '/kudago/';
        }

        function fetchData(city) {
            try {
                fetch(url + city) // This fetch is returned data = false. Why?
                    .then(data => {
                        data.json()
                            .then(data => {
                                console.log("fetchData", data);
                                addData(data);
                            })
                    })
            } catch (e) {
                console.log(e);
            }

        }

        function getCity() {
            const url = "fake url for example";
            try {
                fetch(url) // This fetch is good
                    .then(data => {
                        data.json()
                            .then(data => {
                                console.log("getCity", data)
                                if (data.data) {
                                    fetchData(data.data.name); 
                                } else {
                                    console.log("Error getCity", data);
                                }
                            })

                    })

            } catch (e) {
                console.log(e);
            }
        }
        getCity();
enter image description here enter image description here

Chrome is ok

1 个答案:

答案 0 :(得分:0)

这种方法帮助我https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

encodeURIComponent(url)

IE 11无法理解西里尔字母。 这将对那些请求西里尔字母的人有所帮助。