axios IE承诺不起作用

时间:2016-03-03 10:37:51

标签: javascript promise axios

我正在使用axios进行ajax通信。 我有IE的问题。关于Promise的IE返回错误。 IE对Promise一无所知。

我正在编写react / redux,但我在普通JS中尝试了axios并且结果相同

有人可以帮我吗? 我很困惑,因为axios应该在IE 8+上工作 我试过IE 11(Windows 10 64bit)

我的试用版按照axios主页上的示例编写

THX

2 个答案:

答案 0 :(得分:12)

如果浏览器没有承诺实现,则必须包含promise polyfill。这听起来很复杂,但确实有很好的库。

axios docs提到它: axios依赖于支持的本机ES6 Promise实现。如果您的环境不支持ES6 Promises,您可以填充。

如果您只使用JS而不进行转换或捆绑,则可以尝试es6-promise

或者如果你使用babel,你可以its polyfill

答案 1 :(得分:1)

Android 4.x和axios And Promise

在Android 4.X中,我有类似的问题。我通过在webpack配置中使用es6-promise来解决它:

承诺:' es6-promise'

plugins: [
    //tells webpack where to store data about your bundles.
    new BundleTracker({filename: './webpack-stats.json'}),

    //makes jQuery available in every module
    new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery',
        'window.jQuery': 'jquery',
        Promise: 'es6-promise'
    }),

    // Configure path for served CSS files ("desktop_css" will be served as /dist/desktop_css.css)
    new ExtractTextPlugin('[name].css'),
],

有关更多信息,请查看:

https://github.com/axios/axios/issues/188

  

是的,在4.4.4之前没有为Android推出Promise

http://caniuse.com/#feat=promises

'无极'未定义

https://github.com/webpack/webpack/issues/4254