Ajaxリクエストがトリガーされた場所からJavascriptコードを見つける方法は? Firebug のコンソールでは、ファイルと行番号を特定できますが、jQuery のまたは類似の機能を使用している場合$.ajax
、$.post
Firebug のコンソールに jQuery ライブラリ ファイルのみが記録されます。jQuery関数の実際のトリガーポイントを取得する方法はありますか?
3 に答える
お持ちChrome
のDevToolでご利用くださいSources
。
これを開くと、右側に表示されXHR/fetch Breakpoints
ます。チェックAny XHR
すると、使用するすべてのリクエストでスクリプトが一時停止しますXMLHttpRequest
(リクエストを使用しないリクエストはすべてjsonp
)。
Any XHR
オプションが利用できない場合 (リストされているだけ) 、フィールドを空白No Breakpoints
のままにして Enter キーをクリックする必要があります。これにより、オプションが作成されます。(この情報を提供してくれたYasmin Frenchに感謝します)+
Break when URL contains:
Any XHR
(同じくCall Stack
右側にある) を使用すると、リクエストの発信元が何であったかがわかります。
しかし、私が述べたように、jsonp
これらをトレースしたい場合、これはリクエストで壊れませんjQuery
. この部分を見つけるには、次の手順を使用できます。
jsonp
コードでリクエストを作成し、この場所にブレークポイントを設定します。- コードのこの部分を呼び出して、デバッガーに切り替えます。
- を使用する
Step into
と、jQuery コードが表示されます。そこにブレークポイントを配置すると、Chrome はjsonp
リクエストごとに停止します。
注: Chrome (おそらくベータ版または開発版のみ) では、リロード時にブレークポイントが失われる傾向があるため、リロード時にブレークポイントがまだ存在するかどうかを確認する必要があります。
chrome および firefox/firebug では、.always()またはおそらく ajax 呼び出しの beforeSend ハンドラーで console.trace() を使用して、誰がそれを呼び出したかを確認できます。