2009-10-04 152 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