vue3开发,axios发送请求是携带params参数的避坑

文章讲述了在Vue3项目中使用axios发送请求时遇到的问题,原来在升级到Vue3后,正确的方法是通过全局配置`$http=axios`,而不是使用`app.use(axios)`。将params改为json对象传递解决了TypeError。作者验证了这个解决方案,成功地向后端添加了购物车数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue3开发,axios发送请求是携带params参数的避坑!今天一直报错,点击新增购物车,报错,

【Uncaught (in promise) TypeError: target must be an object】。查询了网上的资料说的都不对。都没有解决。最终还是被我整明白了。


网上网友说的是,axios的引用方式,vue3的改变了。必须是配置一下才能用。

app.config.globalProperties.$http = axios

如图所示,是用了这个配置参数来完成了axios的使用。

不能用app.use(axios)。这样是错误的。


 

/**
 * 加入购物车
 */
export function addOneOrders(id){
    return httpInstance({
        url:'/order/addOneOrder?',
        params:{
            id:id
        }
    })
}

这个代码是,修正后的,参数格式。用一个json对象去给接口传递参数。id.

之前我写的是,

params:id。这样写的。不知道为什么昨天是正常的。今天忽然就不行了。

改成json对象的格式传递过去,一切恢复了正常。

接口路径后面,不需要带任何的符号。问号是不需要的。因为有了json对象,它会自动帮你映射到接口里面的参数,只需要您保证参数名字,和json里面的属性名字一致就行了。省心了。


如图,我新增了三条购物车的信息,是正常的。说明改成json对象作为参数传给后端使用,是正确的。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yrldjsbk

如作品有些帮助,请支持一下我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值