【问题标题】:FETCH IE11: second fetch is not working in ie 11FETCH IE11:第二次提取在 ie 11 中不起作用
【发布时间】:2019-12-24 10:54:07
【问题描述】:

第一次调用 fetch 时,一切正常。在第二次通话中,我得到了错误。它在 Chrome 中正常工作。 Polyfill fetch 已连接。

下面的代码在上传到服务器之前会转换为 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();

【问题讨论】:

  • 您希望city 作为path 还是query 参数?
  • @GeorgeBailey 我从第一个请求中得到了这座城市。在第二个查询中,我想使用这个城市。
  • 是的,我可以看到。我只是想问一下,当您将城市与 url 连接时,这是否是一个有效的 url。您希望如何格式化 url? url/city 之类的东西?或url?city=anycity
  • @GeorgeBailey 最初的变量如下所示:` const url = /.../.../.../ajax.php?mode=class&c=...=getEvents&city=;` + city
  • 我不确定,但将参数传递给url 似乎存在问题。尝试用谷歌搜索类似的东西

标签: javascript internet-explorer fetch-api polyfills


【解决方案1】:

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

encodeURIComponent(url)

IE 11 不理解西里尔字母。 这将帮助那些在请求中包含西里尔字母的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2016-09-12
    • 2018-05-15
    • 2015-05-06
    • 2016-10-13
    • 2018-03-29
    • 2017-08-11
    • 1970-01-01
    相关资源
    最近更新 更多