【问题标题】:how to access response data from axios response in vuejs如何从 vuejs 中的 axios 响应中访问响应数据
【发布时间】:2018-08-24 06:16:57
【问题描述】:

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

{"data":{"databases":["rohit_one_test"]},"error":null,"success":true}

我正在使用带有 vue js 的 axios 来进行这样的调用。

//axiosget函数

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;
    })
}

我在其他地方这样称呼它:-

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 变量中访问我的数据库名称?

【问题讨论】:

    标签: vue.js axios


    【解决方案1】:

    嗯,这是一个被返回的承诺,所以你从承诺解决中返回什么都不做。相反,将其视为返回的承诺,并像这样解决:

    async showdblist() {
        this.dbs = await axiosGet(this.url)
        // now this.dbs is correct
    }
    

    如果您不能使用 async/await,请将其视为常规承诺:

    axiosGet(this.url)
        .then((response) => {
            this.dbs = response.data.data
        })
    

    【讨论】:

    • 是否有一种首选的、有效的方式,或者以上两种方式中的任何一种都可以使用?谢谢
    • @Aseem 你只需要选择你最喜欢的模式。
    猜你喜欢
    • 2020-03-22
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2018-08-23
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    相关资源
    最近更新 更多