当互联网连接丢失时,如何从 Ajax 调用中获取信息
How can I get information back from an Ajax call when internet connectivity is lost
>我有以下内容:
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
alert(ajaxContext.responseText)
}
});
当我失去与互联网的连接时,会调用错误,但我在响应文本中看不到任何内容。
有没有办法根据返回的 ajaxContent 中的状态信息找出不同类型的错误?我真的很希望能够发出一条消息说"互联网连接丢失",如果有其他问题,则发出另一条消息。
根据 jQuery docu 的错误函数接收三个参数:
-
jqXHR
: -
textStatus
:描述所发生错误类型的字符串 -
errorThrown
:一个可选的异常对象(如果发生异常对象)
此外,它还指出:
第二个参数(除了 null 之外)的可能值是"超时"、"错误"、"中止"和"解析器错误"。发生 HTTP 错误时,errorThrow 会收到 HTTP 状态的文本部分,例如"未找到"或"内部服务器错误"。
因此,您可能需要查看第二个和第三个参数的内容。
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
if(ajaxContext.status=="404")
{
//write your not found handler code here
}
else
alert(ajaxContext.status)
}
});
已更新。
你应该添加:timeout:,在$.ajax({})的某个地方。此外,cache:false在某些情况下可能会有所帮助。
$.ajax 有很好的文档记录,你应该检查那里的选项,可能会找到一些有用的东西。
JQuery Ajax - 如何在进行 Ajax 调用时检测网络连接错误
如果你的意思是不同的响应结果,它就在这里 - http://api.jquery.com/jQuery.ajax/- 状态代码参数
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Javascript/jQuery中的并行Ajax调用
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- node.js请求数据事件未在CORS ajax调用中触发
- 如何从ajax调用返回.wrap()元素
- Ajax调用在Firefox中不会自动响应
- AJAX调用中的非法调用
- 使用AJAX调用将GeoJSON数据拉入传单
- 在MVC 4中,对Controller的Ajax调用为空
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 在ajax调用中阻止来自JS对象的函数
- 如何在MVC5中ajax调用的部分视图中引用外部javascript
- 页面加载后的Ajax调用
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- curl和fileget_contents在ajax调用后不起作用
- 在任何AJAX调用之前触发一个javascript函数
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作