2014-09-18 371 views
5

在所有其他非IE瀏覽器,下面的代碼片段的偉大工程:IE HTTPS CORS XHR請求失敗,Script7002:XMLHttpRequest的:網絡錯誤0x2eff

<!DOCTYPE html> 
<html> 
<script type="text/javascript"> 
var xhr = new XMLHttpRequest(); 
var url = "https://otherdomain.com"; 
var method = "GET"; 
xhr.open(method, url, true); 

xhr.onload = function() { 
var responseText = xhr.responseText; 
document.write(responseText); 
}; 

xhr.send() 

</script> 
</html> 

在兩個不同的IE11瀏覽器(在不同的操作系統版本上運行),我得到兩個不同的錯誤:

  1. IE11 Win7:Script7002:XMLHttpRequest:網絡錯誤0x80070005,訪問被拒絕。
  2. IE11 Win8的:Script7002:XMLHttpRequest的:網絡錯誤0x2eff無法完成,由於操作錯誤00002eff

谷歌搜索上面的錯誤代碼不露面任何有用的東西。我嘗試過設置Content-Type,爲onprogress和onload添加虛擬函數,但無濟於事。

+2

從其他域中正確返回CORS頭文件,證明上述工作在其他瀏覽器中正常工作。 – 2014-09-18 20:49:32

回答

3

想通了。

在我們的案例中,在之前的項目中,我們更改了IE允許的SSL協議。 Ajax請求失敗,因爲IE不允許基於自定義配置來協商SSL握手。

解決方案是打開Internet選項,選擇高級選項卡,然後單擊「恢復高級設置」按鈕。之後,Ajax請求正常工作。

希望這節省了別人花了6個小時左右!

+0

沒有幫助IE10 – Legends 2016-05-03 21:35:06

+1

恢復設置後,我申請並關閉瀏覽器,但我沒有爲我工作。有沒有失蹤? – 2016-05-06 11:19:11