2016-07-06 4 views
1

AngularJS$resourceにサーバーへの呼び出し後にすべてのパラメータ(実際に呼び出されたURL)を展開したURLテンプレートを読み込む方法はありますか?

私は実際のURLを記録したいと思っています。

答えて

0

これはインターセプタで実現できます。このようにして、すべての$リソースにあなたのログ情報を追加する必要はありません。

これはところで、あなたがリクエストメソッドの「configオブジェクトからURLを取得することができ、あなたのapp.jsに

// register the interceptor as a service 
$provide.factory('loggingInterceptor', function($q) { 
return { 
    // optional method 
    'request': function(config) { 
    return config; 
    }, 

    // optional method 
    'requestError': function(rejection) { 
    // log your error 
     return $q.reject(rejection); 
    }, 

    // optional method 
    'response': function(response) { 
    // do something on success 
     return response; 
    }, 

    // optional method 
    'responseError': function(rejection) { 
    // log your error 
     return $q.reject(rejection); 
    }}; 
    }); 

$httpProvider.interceptors.push('loggingInterceptor'); 

を行きます。ちょうどconsole.log(config)を実行し、そこからそれを拾い上げてください。私はそのconfig.url

AgularJS $http serviceの下のドキュメントのインターセプタの詳細については、インターセプタトピックです。

+0

configオブジェクトには、要求パラメータとともにURLが展開されていません。 –

+0

'config.params'からパラメータを取得できます – Srijith

+0

展開されたURL(実際に$ httpで呼び出されたURL)ではなく、ブラウザにコピー&ペーストして問題をデビューさせることはできません。とにかく、ありがとうございました。あなたの評判がどんなに高まるのはすばらしいことです。 –

関連する問題