web-dev-qa-db-ja.com

Safariでフェッチが定義されていません(ReferenceError:変数が見つかりません: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))
      })
    })
  }
}
21
zlwaterfield

サポートされていないブラウザには https://github.com/github/fetch polyfillを使用できます。

npm install whatwg-fetch --save; 

編集:(コメントごと)

追加

import 'whatwg-fetch'; 

fetchを使用する前に各ファイルで– oliviergg

35
Dmitriy

使用する whatwg-fetchポリフィル。 webpackを使用する場合は、エントリポイントに追加するだけです

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