问题与阿贾克斯与jQuery
问题描述:
发送数据时的处理异常以下功能问题与阿贾克斯与jQuery
if(continiueSend)
{
$.ajax
({
type: "POST",
url: "mailer.php",
data: "somestestdata",
timeout: 5000,
success: function(a)
{
alert(a);
},
error: function (xhr, ajaxOptions, thrownError)
{
alert(xhr.status);
alert(thrownError);
}
});
}
一个的一部分,在服务器是确定它的伟大工程,所请求的数据在100ms以内发送,万一当我关闭切断它也很好,脚本报告错误,但它有问题,当服务器正忙
当发送数据的时间超过设置“超时:”错误处理设置“错误:”isn没有开火,并在控制台中出现以下信息
uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://127.0.0.1/site/index.php?article=2 :: anonymous :: line 252" data: no]
252行是上述代码的第一行。我尝试将代码放在IF括号内,放入try ... catch但没有结果。
如何正确检测到这个异常来处理它我想要的方式?
MTH
答
您确定错误回调没有被实际调用吗?在错误函数中放置一个try-catch块。请记住,这是异步调用的。它外面的try-catch块不会做任何事情。当您尝试读取错误时可能会导致异常。
一般情况下,地球是圆的(近乎圆:P)这一事实很明显,无论如何,感谢您的帮助! – MoreThanChaos 2009-10-04 09:47:05