Ajax帖子提交在ie9 / 8中失败

时间:2014-09-16 02:26:14

标签: jquery .net internet-explorer-8 internet-explorer-9 cross-domain

我试图为一个在chrome,firefox和最新版本中运行的表单创建一个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();
                        });
                    }
                });

            }

1 个答案:

答案 0 :(得分:-1)

嘿所以我想出这个问题,以防其他人和我有同样的问题。

所以在https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest的文档中,他们指定设置contentType:'text / plain'但是这仍然无效。

我发现使用xdomainrequest插件实际提交到ie8和ie9交叉源的表单,如果我将其从'POST'更改为'GET'

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