2016-03-05 278 views
-3

我遇到了一個問題,即添加Authentication標題會導致角度停止工作。這裏是我的控制器代碼:AngularJS基本身份驗證

app.controller('LoginController', function ($scope, $http) { 
    var url = 'http://my.api.domain'; 
    $scope.login = function() { 
     var headers = {'Authorization': 'Basic base64username:email'}; 
     $http({ 
      url: url + '/login', 
      method: "GET", 
      withCredentials: true, 
      headers: headers 
     }); 
    } 
}); 

我已經經歷了所有的CORS故障排除步驟,我不這麼認爲。當我設置標題時,Angular不會發出請求,但是如果標題未設置,它將會發出請求。

有沒有其他人有這個問題?

+1

它在控制檯中沒有提供錯誤信息? – mason

+0

@mason不,沒有什麼。 – spencer4of6

+0

你看過你需要做什麼[基本認證](https://en.wikipedia.org/wiki/Basic_access_authentication)嗎?似乎你需要做一些base 64編碼。 – mason

回答

0

所以問題是,角度被第一請求經由OPTIONS請求和API信息從所述服務器響應是不正確的(這是返回不正確的Access-Control-Accept-Headers值)。我花了一段時間才弄明白,因爲我使用Firefox和Firebug進行調試,出於某種原因,它沒有記錄或顯示OPTIONS請求。在Chrome或Edge上運行會顯示問題。