0

angularアプリからサーバー側にデータを通信しています。サーバーはトークンを作成し、それをヘッダーに送信します。Restangular を使用して応答を傍受し、localStorage に保存する方法を探しています。私は成功していません。

私はアプリの.configでこのようなことをしていました

RestangularProvider.addResponseInterceptor('HttpInterceptor');

次に、HttpInterceptor で Storage を呼び出してヘッダーを格納していました。しかし、いくつかのエラーが発生しており、これを理解できませんでした。

前もって感謝します!

4

1 に答える 1

1

多くの調査の後、私は最終的に自分に合った解決策を見つけました。

だから私のapp.jsに、これを含めました:

.config(function ($stateProvider, $urlRouterProvider, RestangularProvider, $httpProvider) {
    $httpProvider.interceptors.push('AuthInterceptor');
}

そして、AuthInterceptor サービスでヘッダー抽出を行います。

angular.module('myApp')
  .factory('AuthInterceptor', AuthenInterceptor);

AuthenInterceptor.$inject = ['$localStorage'];

function AuthenInterceptor($localStorage) {
  return {
    response: function (response) {
      var authToken = response.headers('You Token Name');
      if (authToken) {
        $localStorage.userToken = authToken;
      }
      return response;
    }
  };
}

同様の問題を抱えている人に役立つことを願っています。ありがとう!

于 2015-08-22T20:08:38.307 に答える