You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3中如何向Axios GET请求传递JSON格式参数?

问题分析与解决方案

你的问题出在Vuex dispatch方法的参数传递方式上:dispatch的第二个参数是完整的请求载荷(payload),第三个参数是可选的Vuex配置项(比如root: true),你现在把url和propertyEid拆成两个对象传递,导致propertyEid根本没被传到axiosGet action的请求逻辑里,反而被当成了dispatch的配置参数,这就是API接收到异常参数的原因。

修正后的代码

根据Vuex dispatch的正确用法,把所有请求相关参数合并到同一个payload对象中,同时结合axios的参数传递规则(查询参数用params,请求体参数用data),调整代码如下:

await this.$store.dispatch("axiosGet", {
  url: 'folder/api/property-walls',
  params: { propertyEid: this.id } // 若API接收URL查询参数用这个,若接收POST请求体则改用data
}).then(response => {
  if (response.status === 'error') return
  this.wallList = response.data.data.data
})

额外注意事项

  • 请确认你的axiosGet action内部逻辑:它需要正确读取payload中的url和params(或data),并传递给axios实例。比如action内部可能是类似这样的写法:
    async axiosGet({ commit }, payload) {
      return await axios.get(payload.url, { params: payload.params })
    }
    
  • 如果你的API是通过POST请求接收参数,那么把代码中的params替换为data,同时确保axiosGet action内部用axios.post方法。

内容的提问来源于stack exchange,提问作者Sanaz Baghban

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 21:48:20