2015-11-07 46 views
6

如何從jQuery AJAX接收的腳本中看到運行時錯誤?調試運行時錯誤的jquery ajax腳本

我正在編寫嵌入其特定Web服務器的(自由軟件)應用程序(MELT監視器,在GNU/Linux/Debian/x86-64上)。有關詳細信息,請參見this question。我在承諾d624e22497de...

我在最近使用Firebug的Linux/Debian/Gnu/x86-64上使用Firefox 38或42。

我使用jQuery的$.ajax一個腳本:

$.ajax 
({url: "/canvasedit", 
    method: "POST", 
    data: {"do_fillcanvas": true}, 
    dataType: "script", 
    success: ajaxcanvascript 
}); 

ajaxcanvascript正確調用(和console.log有顯示),因此從一個HTTP來看,AJAX請求已成功( 200 OK)。

但是,當在AJAX運行時錯誤由do_fillcanvas收到劇本,這是一個產生腳本類似這樣的:

 console.log('dofillcanvas canvedit.c:206 siz 1; this=', this, 
     ' momc_display_canvas=',momc_display_canvas); 
momc_display_canvas('09:26:39',[ 
    momc_top_entry(momc_item_ref('notice'), 
      momc_node(momc_item_ref('comment'), 
       [ 
       momc_string("some simple notice"), 
       momc_node(momc_item_ref('web_state'), 
         [ 
          momc_int(2)]), 
       momc_item_val('hashset'), momc_set([ 
        momc_item_ref('canvasedit'), 
        momc_item_ref('microedit'), momc_item_ref('the_agenda')]) 
       , 
       momc_tuple([ 
        momc_item_ref('web_session'), momc_nil_ref(), 
        momc_item_ref('the_system')]) 
       ]))]); 

console.log('dofillcanvas canvedit.c:239 this=', this); 
addupdatehtml('displayed <tt>Sat Nov 7 09:26:39 2015 MET</tt>'); 
console.log('dofillcanvas canvedit.c:252 done 09:26:39.11 this=', this); 

我在我的Firebug的控制檯沒有得到錯誤信息(或者從Firefox中看不到任何東西)。

我正在調試的運行時錯誤類型是從momc_display_canvas(它使用jcanvas,我不是很熟悉)的一些未定義的方法稱爲深。

那麼,如何從jQuery AJAX接收的腳本中輕鬆查看運行時錯誤?

我加入console.log無處不在,但不方便......

+0

檢查控制檯的網絡選項卡中找到狀態請求。 –

+0

狀態是200 OK。 –

+0

就我個人而言,我會開始逐條評論線條,直到錯誤消失。 – Taplar

回答

1

如果我是正確的,那麼你是問,同時調用Ajax來了ajax完整的處理錯誤。 jquery ajax具有錯誤參數回調函數,您可以使用該回調來處理您的錯誤。

$.ajax({ 
... 
error: function(error){ 
console.log(error); 
} 
... 
}) 

如果要處理,你可以使用試着在總AJAX call.Hope catch塊包裝的總誤差,這將幫助你 })

+0

我認爲在'$ .ajax'錯誤'是爲協議相關的錯誤,並且在這裏AJAX的HTTP請求成功... –

+0

@BasileStarynkevitch它能解決你的問題嗎? –