axios IE 承诺不起作用

axios IE promise doesn't work

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

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

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

我的trial是按照axios首页的例子写的

感谢

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

axios 文档提到它: axios 依赖于要支持的原生 ES6 Promise 实现。如果你的环境不支持 ES6 Promises,你可以 polyfill。

如果您只使用 JS 而没有转译或捆绑,您可以尝试 es6-promise

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

Android 4.x 和 axios 和 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

Yes Promise wasn't introduced for Android until 4.4.4

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


'Promise' 未定义

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