从带有数组的响应中获取Axios响应数据

时间:2019-09-17 00:44:35

标签: vue.js axios vuex

这是服务器发出的响应

{"message":"Resource Created","payload": 
[{"id":"5d80270413452b6732fd5217","name":"asdf"}]}

我正在尝试将id设置为我的状态。

当前正在尝试此操作。

axios.post(`http://localhost:8081/companies`, company)
     .then(request => request.data.payload.id)
     .then(id => {
         commit('setCreatedCompanyID', id)
     })

我认为错误在于这行

.then(request => request.data.payload.id)

如何从响应数组中获取第一个ID?

1 个答案:

答案 0 :(得分:3)

使用index访问myArray数组的第.then(request => request.data.payload[0].id) 个元素。如:

axios.get(`https://api.myjson.com/bins/rin05`)
  .then(request => request.data.payload[0].id)
  .then(console.log)

演示:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
Check the console
{{1}}