Api 安装在Vue中时,Axios数据未转入数据
我试图通过Vue 2中的axios调用从Twitch API(我们使用POST而不是GET)调用数据,但它没有像我期望的那样工作。我可以记录Api 安装在Vue中时,Axios数据未转入数据,api,vue.js,vuejs2,twitch,twitch-api,Api,Vue.js,Vuejs2,Twitch,Twitch Api,我试图通过Vue 2中的axios调用从Twitch API(我们使用POST而不是GET)调用数据,但它没有像我期望的那样工作。我可以记录访问\u令牌,但不能记录获取请求中的数据 我用API请求创建了一个单独的文件,该文件导入到Vue组件中,如下所示: 从“axios”导入axios; //Twitch授权的变量 const client_id=process.env.VUE_APP_client_id; const client_secret=process.env.VUE_APP_clie
访问\u令牌
,但不能记录获取请求中的数据
我用API请求创建了一个单独的文件,该文件导入到Vue组件中,如下所示:
从“axios”导入axios;
//Twitch授权的变量
const client_id=process.env.VUE_APP_client_id;
const client_secret=process.env.VUE_APP_client_secret;
const grant_type=“客户端凭据”;
const cors_server=“process.env.VUE_APP_cors_ANYWHERE_server”;
//从Twitch Dev帐户获取访问令牌
导出异步函数getAccessToken(){
试一试{
const response=等待axios.post(
`https://id.twitch.tv/oauth2/token?client_id=${client\u id}&client\u secret=${client\u secret}&grant\u type=${grant\u type}`
);
const data=wait response.data.access_令牌;
返回数据;
}捕获(错误){
日志(“错误:”,错误);
}
};
//从API调用游戏
导出函数getGames(accessToken){
axios({
url:`${cors_服务器}https://api.igdb.com/v4/games`,
方法:“POST”,
标题:{
“接受”:“应用程序/JSON”,
“客户端ID”:客户端ID,
'Authorization':'Bearer${accessToken}`,
},
数据:“字段*;”,
})
。然后(res=>{
console.log(res.data);
返回res.data;
})
.catch(错误=>{
控制台错误(error);
});
};
我已将其导入组件,如下所示:
从“/api_请求”导入{getAccessToken,getGames}”;
我对数据的定义如下:
data(){
返回{
游戏:空,
accessToken:“”,
}
},
我这样调用mounted
中的数据
//从IGDB调用数据
异步装入(){
this.accessToken=等待getAccessToken();
getGames(this.accessToken)。然后(res=>{
这个游戏=res;
console.log(this.games);
});
我尝试了不同的方法来调用
getGames
中的mounted
,但我无法将其正确保存在数据中。我应该用不同的方法调用它吗?导入它会导致问题吗?我应该在组件内部创建一个方法吗?你几乎做到了。getGames()
需要返回axios()
,以便调用者可以接收响应数据的值:
导出函数getGames(accessToken){
返回axios({/*…*/})
}
然后调用方可以等待它:
async-mounted(){
this.games=等待getGames(this.accessToken)
}
就这样!谢谢!