Ajax post-submit在ie9/8中失败



我正试图为一个在chrome、firefox和最新ie中工作的表单做一篇ajax文章。在ie9/8中,它似乎失败了,并出现了500个错误。

ajax帖子是跨域的,我正在使用https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest进行跨域请求(ajax get似乎可以在ie9/ie8中工作)。

这是一个.NET项目,如果有帮助的话。我确实读到了一个可能的解决方案是添加:

 <meta http-equiv="X-UA-Compatible" content="IE=9" />

在顶部,但这并没有解决任何问题。

这是我的示例代码的帖子:

            var submitEmailMe = $("button#emailme_form_submit");
            $(submitEmailMe).unbind('click').bind('click', function(e) {
                if ($('#email_form').parsley().validate()) {
                    emailMeSubmit();
                }
                var emailBtnState = $(this);
                emailBtnState.prop('disabled',true);
                window.setTimeout(function(){ 
                    emailBtnState.prop('disabled',false);
                },5000);
                e.preventDefault();
            });

            function emailMeSubmit() {
                $.ajax({
                    type: 'POST',
                    url: "http://www.externallink/EmailRetailer",
                    data: $("#email_form").serialize(),
                    success: function( response ) {
                        $('#email_form').fadeOut(function() {
                            $('.thanks').fadeIn();
                        });
                    }
                });
            }

嘿,所以我解决了这个问题,以防其他人和我有同样的问题。

因此,在https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest他们指定设置contentType:"text/plain",但这仍然不起作用。

我发现,如果我将表单从'POST'更改为'GET'那么该表单实际上是使用xdomainrequest插件跨源提交给ie8和ie9的。

这可能不是最优雅的解决方案,但它确实有效。

相关内容

  • 没有找到相关文章

最新更新