我有用户输入的数据发布到不同的域和不同的协议。在做了一些阅读之后,我发现微软的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);
“看起来”就像在发送它时,我无法找到相关信息或在控制台中看到它。我看着这个,但不太明白;控制台回应: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);
}
谁能给我一些帮助?