2015-11-07 4 views
6

jQuery AJAX受信スクリプトからランタイムエラーを確認するにはどうすればよいですか?ランタイムエラーでjquery ajaxスクリプトをデバッグ

私は、特定のWebサーバーを組み込んだ(フリーソフトウェア)アプリケーション(GNU/Linux/Debian/x86-64上のMELTモニター)をコーディングしています。詳細はthis questionを参照してください。私はコミットしていますd624e22497de...

Linux/Debian/Gnu/x86-64で最近のFirebugを使って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)。私はFirebugのコンソールにエラーメッセージを得なかっまし

 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); 

:がある場合が

は、AJAXでのランタイムエラーのような何かに似生成スクリプトである、do_fillcanvasしてスクリプトを受け(またはFirefoxから簡単に見えるものはありません)。

私がデバッグしているランタイムエラーの種類は、次のとおりです。 momc_display_canvas(これはjcanvasを使用しています。これはあまりよく知られていません)から深く呼ばれる未定義のメソッドです。

だから、jQuery AJAXの実行時エラーを簡単に確認する方法は?私はあなたが完全なAJAXへのAjaxの呼び出し中にエラーを処理するために求めている右クリックしていた場合

+0

は、状況を見つけるために、コンソールのネットワークタブをチェックするのに役立ちますリクエスト。 –

+0

ステータスは200 OKです。 –

+0

個人的には、エラーがなくなるまで、1行ずつコメントアウトしています。 – Taplar

答えて

1

...私はどこにでもconsole.logを追加しているが、それは便利ではありません。 jquery ajaxにはエラーのパラメータコールバック関数があります。そのコールバックを使用してエラーを処理できます。あなたは総Ajaxのcall.Hope周りのcatchブロックの折り返しを試す使用することができ、合計エラーを処理する場合

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

は、これはあなたが })

+0

'$ .ajax'では' error'がプロトコル関連のエラーであると思っていましたが、ここでAJAXのHTTPリクエストが成功しました... –

+0

@BasileStarynkevitchそれはあなたの問題を解決するのですか? –

関連する問題