处理axios响应中的数据

时间:2017-10-05 22:08:48

标签: javascript vuejs2 axios

我是axios的新手。

过去当我发出http请求时,我习惯了回到对象的数组/数组,这使我可以通过使用map和reduce等函数轻松地格式化数据。然后我会将它呈现给DOM。

我注意到在回复中我得到的是一个观察者对象。我将如何制作请求以便它返回一个数组?处理这个观察者对象的标准是什么?

getSomething (myId) {
    return axios.get('/api/getSomething', {params: {'id': myId}})
                .then(response => console.log(response.data))
                .catch((promise) => this.handleError(promise));
}

由于

编辑: 更新的代码。 为了澄清,当我调用getSomething() response.data是一个对象时,即使我将它作为一个数组发送到后端。我假设axios正在将这个数组更改为一个对象。该对象有一堆额外的属性,如__ob__get 0

2 个答案:

答案 0 :(得分:2)

所以我发现了这个问题。如果你通过一个数组,其中键不符合顺序,例如[1: [], 5: [], 6:[]]. Javascript会将其更改为具有不同属性的观察者对象,以便维护密钥。此问题与axios无关。

答案 1 :(得分:0)

您可以执行以下简单操作来访问数据:

axios.get('/some/url').then(response => {
    console.log(response);
});