簡體   English   中英

更改http請求標頭而不在angularjs中刷新

[英]Change http request header without refresh in angularjs

我正在寫一個使用ngRoute更改頁面的網站。 用於登錄表單的信息將顯示,並且在成功完成后,控制器將在后續步驟中更改請求的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

攔截器示例2

示例代碼:

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

      return config;
    }
  };
});

在您的服務層,忽略驗證此標頭以進行登錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM