2016-08-20 4 views
0

ページを変更するためにngRouteを使用するウェブサイトを作成しています。フォームにログインするための が表示され、コントローラが正常に終了すると、次の手順でリクエストのhttpヘッダーが変更されます。 budは、ヘッダーを変更すると、ページを再ロードする必要があります。トークンはヘッダーに追加されません。最新のものではなく、HTTPリクエストヘッダーを変更します。

コントローラー:

app.controller('catCtrl',['Api','$scope','$cookieStore','$rootScope',function (Api,$scope,$cookieStore,$rootScope) { 
$scope.Login = function(){ 
    Api.loginEmail($scope.log_email, $scope.pass, 'chrome', 'windows','').success(function(response){ 
     $cookieStore.put('Auth-Key', 'Token ' + response.token); 

     $scope.is_Loggedin = true; 
     $scope.showLoginWin(); 
    }).error(function(response){ 
     $scope.log_email = null; 
     $scope.pass = null; 
     $scope.error = response.error; 
    }); 
    }; 
} 

App.run:

app.run(['$cookieStore','$http',function($cookieStore, $http){ 

    $http.defaults.headers.common['Authorization'] = $cookieStore.get('Auth-Key'); 
}]); 

どのように私は、ページをリロードせずにヘッダを変更することができます。

答えて

1

ログイン後、さらにリクエストしてトークンを追加したいと考えています。

角度インターセプターを試すことができます。インターセプタ経由でtokeを追加する方法に関連するAnswersについては、あまりお答えできません。

Interceptor Example 1

Interceptor example 2

サンプルコード:あなたのサービス層で

app.factory('httpRequestInterceptor', function() { 
    return { 
    request: function (config) {  
     config.headers['Authorization'] = $cookieStore.get('Auth-Key');  

     return config; 
    } 
    }; 
}); 

、ログインの検証にこのヘッダを無視します。

関連する問題