当通过https调用http时,访问被拒绝
问题描述:
我有一个https网页。 我通过JavaScript调用另一个http网页。当通过https调用http时,访问被拒绝
该提示显示Access Denied
。
这是我的代码。
var url = "http://127.0.0.1:2737/video";
try {
if (document.all) {
var xdr = new XDomainRequest();
xdr.open('GET', url)
xdr.send();
}
else {
var req = new XMLHttpRequest();
req.open('GET', url, true);
req.send(null);
}
}
catch (e) {
alert(e);
}
请帮帮我!
答
我试图用IE8或IE9来做到这一点。是对的吗? 这样做的问题是出here:
7.请一定要有针对性的方案同样托管页面
此限制意味着,如果你的AJAX页面是 http://example.com,那么你的目标网址也必须以HTTP开头。 同样,如果您的AJAX页面位于https://example.com,那么您的目标网址也必须以HTTPS开头。
因此,如果是这样的话,恐怕是不可能做到这一点
所以,我已经改变了通过使用window.open(URL)中调用HTTP页面的方式。 但我需要在加载完成后关闭它。 你能告诉我如何检测新页面的加载状态吗? – 2014-11-05 08:45:19
如果我得到了正确的答案,这个调用是在打开的窗口中执行的? 如果是这样,你只需要添加: req.onload = function(){ window.close(); } – Michael 2014-11-05 08:59:53