SCRIPT5009:' fetch'未定义

时间:2017-05-29 12:03:49

标签: javascript node.js internet-explorer npm fetch

有一些麻烦!对于我的请求,我使用的是Fetch API!

提交表单不能在IE中工作,因为" SCRIPT5009:' fetch'未定义"!

示例如何:

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)

同时在Chrome和FF中,它的工作正常!我已经试图找到一些在谷歌上冲浪的解决方案,但它没有用!

我曾尝试安装" isomorphic-fetch"和" es6-promise"在npm中,并尝试在我的.js文件中导入它,但它也不成功,控制台向我显示:"未捕获的SyntaxError:意外的令牌导入"!顺便说一句,required()函数也不起作用!因此,我现在完全不知道该怎么做,如何使用这些polyfill的东西以及所有这些!

如果有些人有想法,请提前感谢! BR!

1 个答案:

答案 0 :(得分:6)

您可以改为使用https://github.com/github/fetch

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

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

如果您需要Promise polyfill,可以使用http://bluebirdjs.com/docs/install.html

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

Bluebird之前加载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>