ReactJS redux saga fetch api

时间:2016-11-24 04:15:16

标签: reactjs redux fetch redux-thunk redux-saga

我在我的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;
});

1 个答案:

答案 0 :(得分:4)

IE 11中不支持

提取。 但您可以使用polyfill https://github.com/github/fetch

您可能还需要一个承诺polyfill,如babel-polyfill。 https://babeljs.io/docs/usage/polyfill/

注意:它不仅包括承诺。