在所有其他非IE浏览器中,以下代码片段非常有效:
<!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浏览器(在不同的OS版本上运行)中,我得到两个不同的错误:
Google搜索上述错误代码并没有发现任何有用的信息。我尝试设置Content-Type,为onprogress和onload添加虚拟函数无济于事。
弄清楚了。
在我们的案例中,在先前的项目中,我们更改了IE允许我们使用的SSL协议。Ajax请求失败,因为不允许IE根据自定义配置协商SSL握手。
解决方案是打开Internet选项,选择“高级”选项卡,然后单击“还原高级设置”按钮。 之后,Ajax请求工作正常。
希望这可以节省其他人6个小时左右的时间!