SCRIPT5009: 'fetch' is undefined

2019-01-28 21:39发布

have some troubles! For my requests i'm using Fetch API!

Submit form don't work in IE, because of "SCRIPT5009: 'fetch' is undefined"!

Example how it's looks like:

fetch("url",
        {
             method: "POST",
             body: JSON.stringify(data),
             headers: {
                 'Accept': 'application/json',
                 'Content-Type': 'application/json'
             }
         }).then(function (response) {
             return response.json().then(function (data)

Same time in Chrome and FF it's works fine! I'm already trying to find some solutions surfing Google, but it was unhelpful!

I was tried to installing "isomorphic-fetch" and "es6-promise" in npm, and tried to import it in my .js file, but it was unsuccessful as well, console shows me this: "Uncaught SyntaxError: Unexpected token import"! Btw, required() function don't work as well! So I'm totally don't now what to do, how to use these polyfill thing and all of that!

If some ones have an idea, thanks in advance! BR!

1条回答
混吃等死
2楼-- · 2019-01-28 22:05

You can use https://github.com/github/fetch instead.

CDN: https://cdnjs.com/libraries/fetch

<script src="https://cdnjs.cloudflare.com/ajax/libs/fetch/2.0.3/fetch.js"></script>

If you need Promise polyfill you can use http://bluebirdjs.com/docs/install.html

<script src="//cdn.jsdelivr.net/bluebird/3.5.0/bluebird.min.js"></script>

Load Bluebird before fetch:

<script src="//cdn.jsdelivr.net/bluebird/3.5.0/bluebird.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fetch/2.0.3/fetch.js"></script>
查看更多
登录 后发表回答