我有一个ajax POST请求,可能需要2秒到30多分钟.单击按钮后会发出发布请求
如果请求不到一两分钟,它会回复一个响应,一切正常.但是,如果请求花费的时间超过两分钟,则会返回"网络错误:XMLHttpRequest:网络错误0x2eff,由于错误00002eff无法完成操作".
当然,它可以很好地运行Firefox和Chrome.
该应用程序部署在启用了SSL的JBoss服务器上.这里的架构是我们有一个负载均衡器,可以将请求路由到两个Jboss服务器.
IE浏览器
版本:11.0.9600.180971C更新:11.0.25
我尝试过以下但是徒劳无功
1)ajax将缓存设置为false - 不起作用
2)根据https://support.microsoft.com/en-us/kb/813827更改了注册表设置- 无法正常工作,这里是令人困惑的地方,这表明它是不是IE的东西,但同时这适用于chrome和ff所以它也不是服务器的东西
3)将ajax超时设置为0 - 不起作用4)在$('#mdlSgn')之后添加了e.preventDefault.点击(function(){根据jQuery Ajax请求被取消而不被发送
$('#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
});
Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的ajax请求(见下文).该服务器使用CORS,在IE 10 +,Chrome,Firefox和Opera中运行良好.但是,在Microsoft Edge上,它失败了
XMLHttpRequest:网络错误0x80070005,访问被拒绝.
我已经在这里,这里,这里和这里研究了这些帖子,但找不到有效的答案.那些人在使用IE时遇到了问题,但添加了contentType(此get不需要)和crossDomain使其工作正常.
CanIUse似乎表明CORS在Edge中可用.IE9关闭时请求也失败了,但是CanIUse只声明对CORS的部分支持,所以这是可以理解的.
有什么想法我可以解决这个问题吗?
码:
$.ajax({
crossDomain: true,
url: "http://localhost:2023/api/DoAction/test",
success: function (a) {
var res = JSON.parse(a);
alert(res.content);
},
error: function (a, e, r) {
alert(a.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
更新
要提供更多信息,以防它提供任何线索--ajax请求来自Azure并发布到使用OWIN自托管创建的localhost网站.这是不寻常的,但软件(只能在本地使用)需要从云服务获取数据.如上所述,它适用于所有其他浏览器,Edge是唯一的问题.
我正在尝试测试我的应用程序。在Chrome中,它工作正常,但在IE中,我收到了此类错误。
SCRIPT7002:XMLHttpRequest:网络错误0x80070005,访问被拒绝。