在IE11中获取“标题未定义”

时间:2019-11-18 09:15:55

标签: javascript reactjs fetch internet-explorer-11

我有一个React应用,该应用可以在所有浏览器(IE11除外)中正常运行。 在控制台中,我可以看到此错误:

enter image description here

,它指向这一行代码:

import {EventEmitter} from 'events';

**const headers = new Headers();**
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');

class ApiService extends EventEmitter {

我已经到达这些职位,但是我不清楚我应该做什么样的改变!我应该只安装缺少的pollyfills还是需要更改代码语法...

'Headers' is undefined in IE11

https://www.codeproject.com/Questions/1275068/Javascript-fetch-not-working-in-internet-explorer

更新

同时安装两个:

window.fetch#https://github.com/github/fetch#read-this-first

承诺#https://github.com/taylorhakes/promise-polyfill

现在我得到:

  

对象不支持属性或方法的“值”

我使用了react-carbon-components的DataTable对象,似乎也不受支持:

_defineProperty(DataTable, "translationKeys", Object.values(translationKeys));

导出{默认为DataTable};

1 个答案:

答案 0 :(得分:1)

Internet Explorer不支持Fetch API的Headers接口。

参考:

Headers

要使其与IE浏览器一起使用,您需要使用polyfill。您可以参考以下任何一种polyfill可以帮助您解决问题。

  1. Fetch headers polyfill

  2. window.fetch polyfill