我发现为了能够在 Internet Explorer 中跨域发送数据,我应该使用XDomainRequest
.
通过这样做,我偶然发现了下一个问题。我正在将数据从 HTTP 发送到 HTTPS,这给出了错误SCRIPT5: Access is denied.
。我尝试添加header("Access-Control-Allow-Origin: *");
到指定的 PHP 文件,但没有结果。
有什么办法可以解决这个问题,我可以在 Internet Explorer 9+ 中将数据从我的 HTTP 域发送到我的 HTTPS 域?
我现在正在使用的代码(这给出了 script5 错误):
if ('XDomainRequest' in window && window.XDomainRequest !== null) {
var xdr = new XDomainRequest(); // Use Microsoft XDR
xdr.open('get', url);
xdr.onload = function () {
var dom = new ActiveXObject('Microsoft.XMLDOM'),
JSON = $.parseJSON(xdr.responseText);
dom.async = false;
if (JSON == null || typeof (JSON) == 'undefined') {
JSON = $.parseJSON(data.firstChild.textContent);
console.log(JSON);
}
successCallback(JSON); // internal function
};
xdr.onerror = function() {
_result = false;
};
xdr.send();
}
我也尝试添加$.support.cors = true;
没有结果。