IE11 HTTPS AJAX XMLHttpRequest:网络错误0x2eff,由于错误00002eff无法完成操作 [英] IE11 HTTPS AJAX XMLHttpRequest: Network Error 0x2eff, Could not complete the operation due to error 00002eff
问题描述
我有一个ajax POST请求,可能需要2秒到30多分钟。由于按钮点击而发生了帖子请求
I have an ajax POST request that can take anywhere between 2 seconds to 30+ minutes. The post request occurs as a result of button click
如果请求不到一分钟或两分钟,它会返回响应并且一切正常。但是,如果请求花费的时间超过两分钟,则会返回网络错误:XMLHttpRequest:网络错误0x2eff,由于错误00002eff无法完成操作。
If the request takes less than a minute or two, it comes back with a response and everything works fine. However if the request takes longer than two minutes it comes back with "Network error: XMLHttpRequest: Network Error 0x2eff, Could not complete the operation due to error 00002eff".
Ofcourse ,它可以很好地运行Firefox和Chrome。
Ofcourse, it works fine Firefox and Chrome.
应用程序部署在启用了SSL的JBoss服务器上。这里的架构是我们有一个负载均衡器,可以将请求路由到两个Jboss服务器。
The application is deployed on a JBoss server with SSL enabled. The architecture here is that we have a load balancer that routes the request to two Jboss servers.
Internet Explorer
Internet Explorer
版本:11.0.9600.180971C
更新:11.0.25
Version: 11.0.9600.180971C Update: 11.0.25
我尝试了以下但是徒劳无法
1)ajax将缓存设置为false - 不起作用
2)根据 https://support.microsoft.com/en-us/kb/813827 - 没有用,这里是哪里它变得令人困惑,这表明它不是IE的东西,但同时这适用于chrome和ff所以它不是服务器的东西太多了
3)将ajax超时设置为0 - $后没有工作
4)添加了e.preventDefault( '#mdlSgn')。点击(函数(){按照 jQuery Ajax请求被取消而不被发送
1) ajax set cache to false - did not work
2) Changed registry settings as per https://support.microsoft.com/en-us/kb/813827 - did not work, here is where it gets confusing, thissuggests it is not an IE thing, but at the same time this works on chrome and ff so its not a server thing too
3) Set ajax timeout to 0 - did not work
4) Added e.preventDefault after $('#mdlSgn').click(function() { as per jQuery Ajax requests are getting cancelled without being sent
$('#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
});
推荐答案
可能需要2秒到30多分钟
can take anywhere between 2 seconds to 30+ minutes
我认为这是因为需要传输大量数据。
I assume this is because of large amount of data to transfer.
我创建了大型文件上传器,可处理20GB +视频文件,可能持续数小时。
I have creating large file uploader, that handles 20GB+ video files and may last for several hours.
根据我的经验 - 使用单个ajax请求上传大数据会导致奇怪的浏览器崩溃(例如我的Chrome浏览器在大约20%的上传测试中崩溃)。
In my experience - uploading large data with single ajax request can cause strange browser crashes (for example my Chrome browser crashes in about 20% of upload tests).
我发现最可靠的方法是以1MB的块分割数据,然后通过单独的ajax请求将它们顺序发送到服务器。
The most reliable way, what I found, is to split data in chunks of 1MB and send them sequentially to the server by separate ajax requests.
这篇关于IE11 HTTPS AJAX XMLHttpRequest:网络错误0x2eff,由于错误00002eff无法完成操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!