我在我的ReactJS应用程序中有以下代码,该代码无法在IE11浏览器上运行。问题是在IE11浏览器上调用fetch
。应用程序没有对服务器进行API调用。
它适用于Chrome,Firefox,Safari和Edge。任何人都可以建议我还需要执行哪些步骤来支持IE11?感谢。
function toQueryString(obj) {
var parts = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
parts.push(encodeURIComponent(i) + "=" + encodeURIComponent(obj[i]));
}
}
return parts.join("&");
}
var options = new Object;
options.searchoptions = JSON.stringify(searchoptions);
options.limit = limit;
options.offset = offset;
var optionstr = toQueryString(options);
return fetch(`${SERVER_URL}/api/resource/?${optionstr}`, {
method: 'get',
dataType: 'json',
credentials: 'same-origin',
headers: {
'Accept': 'application/json',
'contentType': 'application/json',
'X-CSRFToken': getCookie('csrftoken')
}
}).then(response => {
return response.json();
}).then(response => {
var data = JSON.parse(response);
return data;
}).then(json => {
return json;
});
答案 0 :(得分:4)
提取。 但您可以使用polyfill https://github.com/github/fetch
您可能还需要一个承诺polyfill,如babel-polyfill。 https://babeljs.io/docs/usage/polyfill/
注意:它不仅包括承诺。