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

javascript 复制代码
<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 没有加括号 ()

正确写法:

javascript 复制代码
<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>

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

相关推荐
腾讯TNTWeb前端团队6 小时前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
范文杰9 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪9 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪9 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy10 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom11 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom11 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom11 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom11 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom11 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试