2009-10-04 127 views
0

发送数据时的处理异常以下功能问题与阿贾克斯与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

回答

1

您确定错误回调没有被实际调用吗?在错误函数中放置一个try-catch块。请记住,这是异步调用的。它外面的try-catch块不会做任何事情。当您尝试读取错误时可能会导致异常。

+0

一般情况下,地球是圆的(近乎圆:P)这一事实很明显,无论如何,感谢您的帮助! – MoreThanChaos 2009-10-04 09:47:05