2014-11-05 425 views
0

我有一個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); 
} 

請幫幫我!

回答

1

我試圖用IE8或IE9來做到這一點。是對的嗎? 這樣做的問題是出here

7.請一定要有針對性的方案同樣託管頁面

此限制意味着,如果你的AJAX頁面是 http://example.com,那麼你的目標網址也必須以HTTP開頭。 同樣,如果您的AJAX頁面位於https://example.com,那麼您的目標網址也必須以HTTPS開頭。

因此,如果是這樣的話,恐怕是不可能做到這一點

+0

所以,我已經改變了通過使用window.open(URL)中調用HTTP頁面的方式。 但我需要在加載完成後關閉它。 你能告訴我如何檢測新頁面的加載狀態嗎? – 2014-11-05 08:45:19

+1

如果我得到了正確的答案,這個調用是在打開的窗口中執行的? 如果是這樣,你只需要添加: req.onload = function(){ window.close(); } – Michael 2014-11-05 08:59:53