我有以下内容:
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
alert(ajaxContext.responseText)
}
});
当我失去与互联网的连接时,会调用错误,但我在responseText中看不到任何内容。
有没有办法可以根据返回的ajaxContent中的状态信息找出不同类型的错误?我真的希望能够发出一条消息,说“互联网连接丢失”,如果还有其他问题则发出另一条消息。
答案 0 :(得分:2)
根据jQuery docu,错误函数接收三个参数:
jqXHR
:textStatus
:描述发生错误类型的字符串errorThrown
:可选的异常对象,如果发生的话此外,它指出:
第二个参数的可能值(除了null)是“timeout”,“error”,“abort”和“parsererror”。发生HTTP错误时,errorThrown会收到HTTP状态的文本部分,例如“未找到”或“内部服务器错误”。
所以你可能想看看第二个adn第三个参数的内容。
答案 1 :(得分:1)
更新
你应该添加:timeout:,在$ .ajax({})内的某个地方。此外,cache:false,在某些情况下可能会有所帮助。
$ .ajax有详细记录,您应该检查那里的选项,可能会找到有用的东西。
JQuery Ajax - How to Detect Network Connection error when making Ajax call
答案 2 :(得分:1)
$.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)
}
});
答案 3 :(得分:0)
如果您的意思是不同类型的响应结果,那么它就在这里 - http://api.jquery.com/jQuery.ajax/ - statusCode 参数