我是angularjs的新手。我正在尝试发出需要授权的API请求。我已将它包含在请求的标题中,但它仍然无法正常工作。我确信我的访问令牌正在运行。有什么建议吗?
$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 :(得分:5)
您可以使用以下
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=utf-8";
它会将上述标题添加到您从应用中发出的每个POST调用中。要添加所有方法的公共标题,请尝试以下操作。
$http.defaults.headers.common['Authorization'] = "Bearer " + user.oauthInfo.access_token;
答案 1 :(得分:0)
您是否在浏览器的网络请求日志中看到了请求的标题?
如果是,是否采用预期的格式?通常是"授权"标题会在它之前有一些东西,例如" Basic" (正如DevPat在上面的评论中提到的)或者#34; Bearer"。这里的内容取决于接收请求的后端系统。
预期标题的示例:
Authorization: Bearer access_token
Authorization: Basic access_token