2013-01-14 96 views
1

我使用prototype框架,以獲得我的第一個反向的ajax效果,我使用這個腳本:catch異常thowns javascript框架

<script language="JavaScript" src="prototype.js"></script> 
<script> 
Event.observe(window, 'load', function() { 
connectToServer(); 
}); 

function connectToServer() 
{ 
new Ajax.Updater(
    { success: 'asd', failure: 'error' }, 
    'evaluation', 
    { 
     method:  'get', 
     onSuccess: function(transport) 
     { 
      if (transport.responseText!=''){ 
       try { 
        eval(transport.responseText) 
       } catch (e) { 
        alert(e.message); 
       } 
      } 
      connectToServer(); 
     }, 
    }); 
} 
</script> 

該腳本correctlty,但我有一個問題,當我關閉網絡服務器(在我的情況下,我用python編寫的一個小型web服務器),由於錯誤404引發了很多異常,是否有辦法捕獲這個異常並阻止腳本?

回答

2

on404選項添加到Ajax.Updater選項,通過一個函數處理程序,就像您爲onSuccess所做的一樣。

on<HTTPSTATUSCODE>處理程序將阻止僅當HTTP代碼作爲處理程序存在時觸發onSuccess。即,如果Web服務器以500錯誤作出響應,並且您只定義了on404處理程序,則onSuccess可能仍會運行,但不應該因爲成功定義爲200中的任何狀態代碼。

+0

好吧,現在它只說了一次'無法加載資源',我將onSuccess更改爲on200,但是如何捕獲'未能加載事件'?例如我想在這個事件上彈出一個彈出框 – Luca

+0

P.S. on404選項不起作用 – Luca

+0

我將檢查它 - 在文檔中它應該「應該」工作....您可能想嘗試'onFailure'處理程序 –