获取未在Safari中定义(ReferenceError:无法找到变量:fetch)

时间:2016-03-06 17:42:21

标签: javascript safari fetch

由于某些原因fetchhttps://fetch.spec.whatwg.org/)未在Safari(版本9.0.3)中定义,有人知道原因吗?它似乎是标准,在Chrome和Firefox中运行良好。似乎找不到其他人有同样的问题

我正在使用与redux的反应,这是一些示例代码:

export function fetchData (url) {
  return dispatch => {
    dispatch(loading())
    fetch(url, {
      method: 'GET'
    })
    .then(response => {
      response.json()
      .then(data => {
        dispatch(success(data))
      })
    })
  }
}

2 个答案:

答案 0 :(得分:34)

您可以将https://github.com/github/fetch polyfill用于不受支持的浏览器。

npm install whatwg-fetch --save; 

编辑:(根据评论)

添加

import 'whatwg-fetch'; 
在使用fetch之前的每个文件中

- oliviergg

答案 1 :(得分:3)

使用whatwg-fetch polyfill。 如果您使用webpack,则可以将其添加到入口点

entry: {
  app: ['whatwg-fetch', 'your-index.js']
}