2012-03-29 8 views
2

Javascriptを作成して、このJSの機能がGETリクエストまたは他のJavascriptから生成された他のAjax呼び出しを「キャッチ」することは可能ですか?ページ?ログに記録するか、アラートボックスに表示するだけです。Javascriptを使ってAjax呼び出しを傍受またはキャッチする

GETまたはAjax呼び出しを実行する「その他のJavacript」は任意です。私はそれが何であるかという点でそれを支配していないということです。

そして一度キャッチされたら、どのJavascriptがGETまたはAjaxを呼び出すかを確認する必要があります。

これは可能ですか?

+0

デバッグに必要ですか?すべての主要なブラウザにはこれが組み込まれています。 – Yoshi

+0

今のところ、プレーヤのJavascriptでは簡単ではないようですが、ブラウザプラグインを使用することができますが、FirebugではどのJavascriptがGETメソッドを起動したかは表示されません... – xybrek

+0

...しかし、要件は実際にはデバッグ用ではなく、実際のアプリケーション機能用です。 – xybrek

答えて

11

このスニペットを試してください。 send関数を拡張して、実際の送信の前または後に何かを実行できるようにします。

XMLHttpRequest.prototype.reallySend = XMLHttpRequest.prototype.send; 
XMLHttpRequest.prototype.send = function(body) { 
    // Do something... 
    this.reallySend(body); 
}; 
var req = new XMLHttpRequest(); 
req.open("GET", "any.html", true); 
req.send(null); 
+0

それはうまく動作します。 – xybrek

+0

これはうまくいきましたが、私はAjaxコールを捕まえることができましたが、私はおそらくAjaxコールではないので、おそらく期待していたHTML要求を捕まえていませんでした.JavascriptによるGETイベントをインターセプトする方法を知っていますか? – xybrek

+0

@xybrekこのアプローチをテンプレートとして使用できます。あなたがしなければならないことは、javascriptがリクエストを行わなければならないあらゆるメソッド(例えば、Image Object、 '

関連する問題