【发布时间】:2012-10-17 16:33:51
【问题描述】:
这个脚本有问题,我设法让它在 ie8 中运行,在 chrome 上运行良好。
initilize: function(){
$('#my_form').submit(function(){
if ($.browser.msie && window.XDomainRequest) {
var data = $('#my_form').serialize();
xdr=new XDomainRequest();
function after_xhr_load()
{
response = $.parseJSON(xdr.responseText);
if(response.number =="incorrect format"){
$('#errors').html('error');
}
else
{
$('#errors').html('worked');
}
}
xdr.onload = after_xhr_load;
xdr.open("POST",$('#my_form').attr('action')+".json");
xdr.send(data);
} else {
$.ajax({
type: "POST",
url: $('#my_form').attr('action')+".json",
data: $('#my_form').serialize(),
dataType: "json",
complete: function(data) {
if(data.statusText =="OK"){
$('#errors').html('error');
}
if(data.statusText =="Created"){
response = $.parseJSON(data.responseText);
$('#errors').html('Here is your code:' +response.code);
}
}
});
}
return false;
});
}
我知道 ie7 没有 XDomainRequest() 对象。如何在 ie7 中复制它。
谢谢,提前
【问题讨论】:
-
也许您正在寻找 JSONP,请参阅 stackoverflow.com/questions/3506208/jquery-ajax-cross-domain
-
简单的回答是,如果不更改为同域请求或使用 JSONP 而不是 CORS,则无法在 IE7 中复制它。
标签: javascript jquery ajax internet-explorer-7 xdomainrequest