首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vuejs中访问axios响应中的响应数据

如何在vuejs中访问axios响应中的响应数据
EN

Stack Overflow用户
提问于 2018-08-24 14:16:58
回答 1查看 3.7K关注 0票数 0

我的服务器Api响应是这样的:

代码语言:javascript
复制
{"data":{"databases":["rohit_one_test"]},"error":null,"success":true}

我使用axios和vue js来进行这样的调用。

//axiosget函数

代码语言:javascript
复制
import axios from 'axios';

export function axiosGet (url) {
  return axios.get(url,{ headers: {'Authorization': 'Basic token'}})
    .then(function (response) {
        return response.data.data;
    })
    .catch(function (error) {
        return 'An error occured..' + error;
    })
}

我在别的地方叫它:-

代码语言:javascript
复制
showdblist(){
      this.url=API_LOCATION+"/tools/mysql/resources/databases/"+this.domain;
      this.dbs=axiosGet(this.url);
      console.log(this.dbs);

}

当我记录dbs变量时,它是这样的。

屏幕截图在这里:--https://prnt.sc/kmaxbq

我的问题是如何在dbs变量中访问我的数据库的名称?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 14:45:10

这是一个返回的promise,所以从promise resolve中返回什么也不做。取而代之的是,把它当做一个回报的承诺,并像这样解决它:

代码语言:javascript
复制
async showdblist() {
    this.dbs = await axiosGet(this.url)
    // now this.dbs is correct
}

如果你不能使用async/await,就把它当做一个常规的承诺:

代码语言:javascript
复制
axiosGet(this.url)
    .then((response) => {
        this.dbs = response.data.data
    })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51998541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档