2016-08-20 2 views
0

Я пишу веб-сайт, который использует ngRoute для смены страниц. для входа в форму и когда успешный контроллер изменяет заголовок http для запросов в следующих шагах. Успокойся, проблема в том, что когда я меняю заголовок, страница должна быть перезагружена, если нет, токен не будет добавлен в заголовок.Изменить заголовок http-запроса без обновления в angularjs

Контроллер:

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 через перехватчик.

Interceptor Example 1

Interceptor example 2

Пример кода:

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

     return config; 
    } 
    }; 
}); 

В вашем слое службы, Игнорировать верификация этот заголовок Логин.

Смежные вопросы