我试图为一个在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();
});
}
});
}
答案 0 :(得分:-1)
嘿所以我想出这个问题,以防其他人和我有同样的问题。
所以在https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest的文档中,他们指定设置contentType:'text / plain'但是这仍然无效。
我发现使用xdomainrequest插件实际提交到ie8和ie9交叉源的表单,如果我将其从'POST'更改为'GET'。
这可能不是最优雅的解决方案,但它有效。