nik*_*iko 11 javascript ajax https iframe internet-explorer-11
似乎IE11版本11.0.7(Win7上的KB2929437,Win 8.1上的KB2919355)在执行Ajax POST操作时出现问题.操作返回状态0,在F12控制台上,出现以下错误:
SCRIPT7002: XMLHttpRequest: Network Error 0x2ee4, Could not complete the operation due to error 00002ee4.
Run Code Online (Sandbox Code Playgroud)
重现此问题的条件如下:
我创建了以下jsfiddle来重现这个问题:http://jsfiddle.net/VJ2D6/12/
$(document).ready(function () {
$('#frame').attr('src', 'https://54.249.142.247/ie11/test.html');
});
Run Code Online (Sandbox Code Playgroud)
请注意,iframe从另一个站点54.249.142.247(使用IIS7由EC2节点托管)检索其源,因为jsfiddle不托管https.并且,因为我使用的是自签名SSL证书,请先将证书安装到受信任的根目录,然后从"Internet选项 - 高级"选项卡中关闭"警告证书地址不匹配".
在54.249.142.247/ie11/test.html中,我创建了一个按钮,它启动对不存在的位置的Ajax POST操作.通常,此请求应返回状态404错误(未找到).但是在IE11版本11.0.7的情况下,它经常返回状态0错误并在F12控制台内显示网络错误0x2ee4,"
我在此处向Microsoft Connect发布了相同的问题:https://connect.microsoft.com/IE/feedback/details/877525/ie11-returns-status-0-during-ajax-post-operation-from-an-iframe- XMLHttpRequest的网络错误,0x2ee4#标签
我认为这是一个IE11错误,但我不是100%肯定,并且还没有来自IE团队的确认.请帮我确认这是一个IE错误,或者我的JavaScript代码是否有任何问题.
更新:
微软表示,他们可以重现这个问题并进行调查.
小智 5
此错误是导致ssl证书无效.要解决此错误,请参阅:[链接]
$.get(window.api + 'Values', null, null).done(function () {//solution for IE shit
$.ajax({
type: 'POST',
url: https://api.yourdomain.com,
data: yourData,
success: function (data) {
//do something
},
});
});
Run Code Online (Sandbox Code Playgroud)