首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >IE11 HTTPS AJAX XMLHttpRequest:网络错误0x2ef,由于错误00002ef,无法完成操作

IE11 HTTPS AJAX XMLHttpRequest:网络错误0x2ef,由于错误00002ef,无法完成操作
EN

Stack Overflow用户
提问于 2015-12-03 02:02:42
回答 3查看 35K关注 0票数 36

我有一个ajax POST请求,可能需要2秒到30+分钟。post请求是由于单击按钮而发生的

如果请求花费的时间不到一两分钟,它就会返回一个响应,一切都会正常工作。但是,如果请求花费的时间超过两分钟,则返回“网络错误: XMLHttpRequest:网络错误0x2ef,由于错误00002ef,无法完成操作”。

当然,它在Firefox和Chrome上运行得很好。

应用程序部署在启用了SSL的JBoss服务器上。这里的架构是,我们有一个负载均衡器,它将请求路由到两个Jboss服务器。

Internet Explorer

版本: 11.0.9600.180971C更新: 11.0.25

我已经尝试了下面的方法,但都是徒劳的

1) ajax将cache设置为false -不起作用

2)根据https://support.microsoft.com/en-us/kb/813827更改注册表设置-没有工作,这是它变得混乱的地方,这可能不是IE的事情,但同时这也适用于chrome和ff,所以它也不是服务器的事情

3)将ajax超时设置为0-不起作用4)在$(‘#mdlSgn’).click( e.preventDefault (){根据jQuery Ajax requests are getting cancelled without being sent添加函数

代码语言:javascript
复制
$('#mdlSgn').click(function() {
    $('#cnfdsgl').modal('hide');

     $.ajax({
        url: ajaxUrl,
        type: "POST",
        data: JSON.stringify(input),
        contentType: "application/json; charset=UTF-8",
        dataType: "json",
        success: function(data) {
             /// some logic


        },
        error : function(jqXhr, textStatus, errorThrown) {
            /// some logic
        }
    });

 //some other logic
}); 
EN

回答 3

Stack Overflow用户

发布于 2018-10-23 19:26:55

我们花了好几天的时间寻找这个问题的原因!

  • 在控制台中: SCRIPT7002: XMLHttpRequest: network error 0x2ef,由于错误00002eff.无法完成操作。
  • 在IE/Edge的网络选项卡中,我们看到失败的请求,因为'Pending...'
  • XmlHTTPRequest/JQuery在客户端返回404错误,但服务器返回了成功的200响应。
  • No response headers

只有在使用所有这些时,我们才会遇到这个问题:

  • HTTP/2
  • POST requests
  • Windows 10
  • IE或边缘

显然,这是HTTP堆栈中的一个Windows10错误,现在已经在Windows10版本1803 (2018年4月)中得到了解决。因此,对于使用Windows自动更新的个人/公司来说,这个问题通常会随着时间的推移而消失。used Windows 10 versions WorldWide

我们在老版本和新版本的Windows10上进行了测试,确实解决了这个问题。

一些临时解决方案可能是:

  • 禁用IE和边缘的HTTP/2并使用HTTPS (服务器端更改)。
  • 使用GET (如果possible)
  • does PUT也有此问题?如果没有响应头为returned
  • accept,则
  • 执行一些重试,这将惩罚IE/边缘用户;-)
票数 20
EN

Stack Overflow用户

发布于 2015-12-10 04:43:25

可能需要2秒到30+分钟

的时间

我认为这是因为有大量的数据需要传输。

我有创建大型文件上传器,处理20GB+视频文件,可能会持续几个小时。

根据我的经验,用一个ajax请求上传大数据可能会导致奇怪的浏览器崩溃(例如,我的Chrome浏览器在大约20%的上传测试中崩溃)。

据我所知,最可靠的方法是将数据分成1MB大小的块,然后通过单独的ajax请求将它们顺序发送到服务器。

票数 7
EN

Stack Overflow用户

发布于 2019-01-11 22:59:42

在我的例子中,它是从服务器返回的自定义响应代码(3020)。已将其切换到200并修改了SPA客户端逻辑,从而解决了此问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34049814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档