使用POST方法请求了Spotify访问代码。为响应分配一个变量。然后,尝试直接使用GET方法访问令牌。
{
angular.module('app')
.controller('GameController', function($http){
const $ctrl = this;
$http.post('/access-token').then(function(response){
$ctrl.tokenResponse = response.data;
$ctrl.myToken = $ctrl.tokenResponse.access_token;
console.log(response);
});
$http({
url: 'https://api.spotify.com/v1/tracks?ids=6rqhFgbbKwnb9MLmUQDhG6',
method: 'GET',
data: {
'Authorization': `Bearer ${$ctrl.myToken}`
}
}).then(function(response){
console.log(response.data);
$ctrl.tracks = response.data;
console.log($ctrl.tracks);
})
});
};
看起来GET方法无法识别我的POST方法中的变量。我的$ {$ ctrl.myToken}未定义。 “ data”:{“ Authorization”:“ bearer undefined”}。但是,当我在GET方法之前console.log记录POST结果时,它会记录访问代码。
不确定如何获取GET方法以读取POST方法的响应。
所有这些代码都在我的控制器中。
答案 0 :(得分:0)
好的。像大家建议的那样尝试过这种方式。现在正在获取我的访问令牌,但没有数据。看来我现在有一个全新的问题,但至少第一个问题已解决。感谢大家! :)
{
angular.module('app')
.controller('GameController', function($http){
const $ctrl = this;
$http.post('/access-token').then(function(response){
$ctrl.tokenResponse = response.data;
$ctrl.myToken = $ctrl.tokenResponse.access_token;
$http({
method: 'GET',
url: 'https://api.spotify.com/v1/tracks?ids=6rqhFgbbKwnb9MLmUQDhG6',
data: {
Authorization: `Bearer ${$ctrl.myToken}`
}
}).then(function(response){
console.log(response.data);
$ctrl.tracks = response.data;
console.log($ctrl.tracks);
})
});
});
};