Bootstrap

vue3 发送 axios 请求时没有接受到响应数据

<script setup>
import Edit from './components/Edit.vue'
import axios from 'axios'
import { onMounted,ref } from 'vue'

// TODO: 列表渲染
//装数据的列表
const list = ref([])
const count = ref(0)
const getList = async () => {
  //通过发送 /list 请求从后端拿到列表数据
  const res = axios.get('/list')
  list.value = res.data
  count.value++
}
onMounted(() => getList)
</script>

一开始一直怀疑是后端接口的问题,或者是前端请求路径的问题

最后排查了半天,通过 count 自增发现 getList 函数根本没有调用

检查 onMounted() 函数发现 是因为 getList 没有加括号 ()

正确写法:

<script setup>
import Edit from './components/Edit.vue'
import axios from 'axios'
import { onMounted,ref } from 'vue'

// TODO: 列表渲染
//装数据的列表
const list = ref([])
const count = ref(0)
const getList = async () => {
  //通过发送 /list 请求从后端拿到列表数据
  const res = axios.get('/list')
  list.value = res.data
  count.value++
}
onMounted(() => getList())
</script>

修改后成功接收到请求的参数:

;