【发布时间】:2012-09-13 03:38:58
【问题描述】:
我有用户输入的数据发布到不同的域和不同的协议。在阅读了一些资料后,我发现微软的XDomainRequest 对象不允许跨域交互(不同的协议、端口、#7 here。
我正在为 FF、Safari 和 Chrome(有效)执行标准 CORS AJAX 调用,并且我一直在尝试将 XDomainRequest 对象用于 IE9。
if ($.browser.msie && window.XDomainRequest) {
var xdr = new XDomainRequest();
xdr.open("post", "https://_url_here");
xdr.send( post_data );
}else { $.ajax(params); }
当我打开https版本的源站时,它成功地将数据发送到接收url,但它无法解析任何数据。 xdr.send(post_data);“看起来”就像在发送时一样,我无法找到相关信息或在控制台中看到它。我看了this 但不太明白;控制台回复:Unable to get value of the property 'postMessage': object is null or undefined
if ($.browser.msie && window.XDomainRequest) {
var domain = $("iframe").contentWindow;
domain.postMessage( post_data );
}else {
$.ajax(params);
}
谁能帮我解决这个问题?
【问题讨论】:
标签: ajax internet-explorer-9 postmessage xdomainrequest