在对ASP.NET MVC Action的AJAX请求期间有网络请求超时时会发生什么
|
如标题中所述,我想知道将 AJAX请求发送到控制器操作时会发生什么,并且在此期间,在请求完成之前几毫秒发生网络超时. Reply from <Server IP>: bytes=32 time=31ms TTL=122 Request timed out Reply from <Server IP>: bytes=32 time=28ms TTL=122 考虑到超时仅发生几毫秒,这会对我的AJAX请求产生什么影响? 这是我们在应用程序中遇到的问题的延续,如本SO question中所解释的那样,我想知道它们是否以某种方式相关. 我搜索过类似的问题,但找不到任何有用的东西. 编辑:除了对AJAX的影响外,它会影响动作方法的行为(服务器)吗? 解决方法无论超时是否仅发生几毫秒或更长时间,请求都将失败.您的AJAX请求的成功回调函数将不会被执行,并且请求将以执行完整回调函数结束.默认情况下,所有AJAX请求都将具有0ms(无限制)的超时,但它将达到浏览器的默认超时.当AJAX请求超时时,将调用错误回调函数.此函数的第二个参数是一个描述错误类型的字符串,在这种情况下,它将具有值timeout.您可以通过处理此回调函数并通过在AJAX请求正文中指定超时值(如果未指定,对默认值起作用)来处理请求超时: $.ajax({
...
timeout: 5000,//specify the timeout value in milliseconds
error: function(jqXHR,textStatus,errorThrown) {
if(textStatus==="timeout") {
//code to execute when timeout occurs
}
}
});
此外,您还可以通过检查第二个参数是否为字符串来检查请求是否在完整回调函数中超时(以类似于上面所示的方式),如果请求超时,它将具有超时值. 另外,请注意:
我建议你使用像fiddler这样的替代HTTP / s流量监控工具来找到第二个请求背后的谜团. 更多信息:jQuery ajax documentation (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – jquery getJson没有将任何值传递给控制器
- asp.net-mvc – 使用自定义格式的ASP.NET MVC ViewModel映射
- asp.net-mvc – 尝试将asp.net web发布到Azure时,Visual St
- 使用asp.net控件创建无序列表?
- Asp.Net Core中WebSocket绑定的方法详解
- asp.net – LINQ:不支持查询运算符’ElementAtOrDefault’
- ASP.net MVC ValidationSummary总是被渲染
- 如何使用WMD在ASP.NET中存储降价?
- asp.net – Application_error函数间歇性捕获“文件不存在”
- asp.net-mvc-3 – 局部视图中的RenderSection
- 勾选复选框时,禁用一些ASP.Net验证控件
- asp.net – 让Visual Studios使用子域名?
- 点击图片,AJAX删除后台图片文件的实现代码(asp.n
- 验证 – Asp.Net MVC:子请求的执行失败.请查看I
- ASP.NET core Web中使用appsettings.json配置文件
- asp.net – 如何从WCF客户端拦截raw soap reques
- asp.net – 在SQL Server中将日期转换为刻度
- asp.net – Windows应用程序与Web应用程序开发
- .net – IIS 6.0和ASPX中的404自定义错误不起作用
- asp.net-mvc-4 – ASP.NET MVC 4通过ActionLink传
