Internet Explorer 11 -Ajax呼叫不开火



我被困在错误的中间。我开始使用browserstack来验证我当前的项目对Windows IE和Edge进行验证,并且与IE 11遇到了一个特殊的问题。

我首先解决了我解决的问题,即FormData没有任何.get()方法,而我使用了NPM formdata-polyfill。

我使用formdata和xmlhttprequest上的本机JS登录表单工作,似乎Ajax调用根本没有启动。

单击"提交"按钮时,而不是发送到我的特定登录网址,而是将邮政请求发射到当前页面本身。

因此,显然,没有捕获事件,也没有执行JavaScript。

我的JavaScript是使用WebPack编译的,我用来获取登录表单并将适当的事件附加到以下内容的行:

    var formLogin = document.querySelector( "#form-login" );
    if ( formLogin !== null )
    {
        var email    = document.getElementById( "email" );
        formLogin.addEventListener( "submit", _.validateLoginForm );
        _.formInstance.init( formLogin );
        _.inputUtil.disableField( '#btn-submit-email' );
        _.inputUtil.disableField( '#btn-submit-password' );
        utils.addAndDispatchEvent( '#email', 'input', _.inputUtil.disableSubmitIfFieldIsEmpty( '#btn-submit-email' ) );
        utils.addAndDispatchEvent( '#password', 'input', _.inputUtil.disableSubmitIfFieldIsEmpty( '#btn-submit-password') );
        email.addEventListener( "invalid", _.onInvalidEmail );
    }

````

JS文件已正确加载到。

我不知道它可以来自哪里,因为它在任何其他浏览器上都可以很好地运行(包括我获得多填充后的边缘)。

如果您有任何想法,请告诉我!

感谢您的收听。

我的问题是我需要覆盖我对不同 e.preventDefault()的呼叫经过 e.preventDefault ? e.preventDefault() : ( e.returnValue = false );

在IE上得到更好的支持。

从以下帖子中获取了此信息:event.preventdefault()函数在IE

中不起作用

然后,我在活动中遇到了ADITIONNAL问题,并且CustomeVent类不适当支持,因此我通过添加Babel Transpiler来避免使用ES2015,但兼容JS。

仍然完全支持IE 11的问题,但这是固定的。

最新更新