2013-10-18 41 views
5

我是angularjs的新手。我正在嘗試提出需要授權的API請求。我已將它包含在請求的標題中,但仍不起作用。我確定我的訪問令牌正在工作。有什麼建議?AngularJS如何在Http請求中包含頭文件

$scope.fetch = function() { 
    $scope.code = null; 
    $scope.response = null; 
    $http({ 
     method: $scope.method, 
     url: $scope.url, 
     cache: $templateCache, 
     headers: { 
      Authorization: "access token" 
     } 
    }). 
    success(function(data, status) { 
     $scope.status = status; 
     $scope.data = data; 
    }). 
    error(function(data, status) { 
     $scope.data = data || "Request failed"; 
     $scope.status = status; 
    }); 
}; 
+0

在訪問令牌之前添加「Basic」。這裏可能的重複這裏http://stackoverflow.com/questions/11876777/angularjs-set-http-header-for-one-request –

回答

5

您可以使用以下

$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=utf-8"; 

將上述頭添加到每一個崗位叫你從你的應用程序做。爲了添加一個通用於所有方法的頭文件,請嘗試以下。

$http.defaults.headers.common['Authorization'] = "Bearer " + user.oauthInfo.access_token; 
+0

你會把那行代碼放在哪裏? – Squadrons

+0

任何地方......把這一行放在你的代碼的Config部分的最佳方式,或者你甚至可以創建一個請求攔截器來設置標題 – vs4vijay

0

您是否在瀏覽器的網絡請求日誌中看到了請求的標題?

如果是這樣,它是否處於預期格式?通常情況下,「授權」標題前面會有東西,比如「基本」(如DevPat在上面註釋中提到的)或「承載者」。這裏所屬的是依賴於接收請求的後端系統。預計頭的

例子:

Authorization: Bearer access_token 
Authorization: Basic access_token