I'm building a site with ES6 and Babel.
In a script file, I need to make an ajax call to a service on server. For that I'm doing like this:
fetch('url').then(
response => response.json()
).then(
supervisoryItems => doSomething(supervisoryItems)
)
In Google Chrome this works just fine, but it does not work on Firefox or IE (I'm getting the error fetch is undefined
).
Searching on Google I found this should fix it:
import promise from 'es6-promise'
promise.polyfill()
Sadly it does not change anything, I have the same issue. Any help?
Babel-polyfill (http://babeljs.io/#polyfill) currently doesn't include fetch in the polyfill. I was thinking of adding it though.
But yeah can use https://github.com/github/fetch
I will use the two following cdn like this:
Just went through this last night. In the end, after trying all sorts of things, the solution was fairly simple:
became
TL;DR fetch(stuff) should be window.fetch(stuff) EDIT This worked for me on Chrome
You can also use Webpack's ProvidePlugin with the imports-loader and exports-loader packages as described in this answer, which removes the need to import anything in your code:
At the time of writing there's a compatibility issue with the 3.0.0 version of
whatwg-fetch
. The workaround is using the following:You need to add the 'isomorphic-fetch' module to your 'package.json' and then import this.
Then in your code
See https://www.npmjs.com/package/isomorphic-fetch