我有以下AJAX功能:IE AJAX跨浏览器的问题
function ajaxDesignerBrandInfo()
{
var D = wrapFormValues('#designer-brand-form');
var recursiveEncoded = $.param(D);
/*
$.post("/api/designer_brand/", { data : recursiveEncoded }, function(data)
{
var results = $.parseJSON(data);
window.location = "/register/designer-product/";
});*/
$.ajax({ type: "POST",
url: "/api/designer_brand/",
data : { data : recursiveEncoded },
success: function(data) {
console.log(data);
setTimeout(function() {
window.location = "/register/designer-product/";
},0);
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError); }
});
return false;
}
以及相应的形式
<form id="designer-brand-form" name="form" method="post" action="" onSubmit="ajaxDesignerBrandInfo(); return false;">
....
</form>
提交在Chrome,Safari和Firefox的伟大工程,动我
/注册/ designer-product/
正确,但在IE9中,提交似乎为
决不使它的服务器
清除表单和重定向回当前页面我是上(在这种形式存在)。
我可以通过FireFox确认没有javascript错误导致此失败。有时它实际上有效,但我似乎无法总是以相同的方式重现此错误
有人请解释WTF正在进行?
谢谢
我添加了SetTimeout,因为我读到它可以解决我的问题,但它没有实际上解决问题 – josephmisiti