vue项目中使用axios发送get传参

新手项目GET请求问题

作为新手写项目总是遇到各种问题,虽然在解决之后觉得会很简单,但是还是想记录下来,一方面避免自己下一次犯同样的错误,另一方面,希望遇到和我相同问题的朋友能够在第一时间得到解决。
项目目录
在这里插入图片描述
首先,是在utils目录下的request.js中封装了axios,在api目录下进行导入发送get请求。(我就是在发送get请求时传参出现的问题)
这里的params是一个对象,所以不能直接传到url之后
然后在store中引入api中的方法,将请求到的数据放在store中进行处理。
在这里插入图片描述
这里可以在getters中对state中的totalData再进行处理,得到自己想要在.vue中使用的数据,然后通过mapGetters辅助函数在.vue文件中进行解构使用
queryParams就是要传递给api请求中的参数,在created中调用了store中的getSysLogAdmin方法,将参数传递给到了store中的payload上,最后由store将参数传递到api中
*over *

Vue 3 中使用 Axios 进行 GET 请求时,可采用以下几种传参方法: ### 直接拼接参数到 URL 将参数直接拼接到 URL 中,用 `?` 和 `&` 连接。示例代码如下: ```javascript import axios from 'axios'; axios.get('/user?id=12345&name=user') .then(function (res) { console.log(res); }) .catch(function (err) { console.log(err); }); ``` 这种方式适合参数较少的情况,直观且简单,但当参数较多时,URL 会变得冗长,不易维护 [^3]。 ### 使用 `params` 对象 通过 `params` 对象传递参数,Axios 会自动将其转换为查询字符串并附加到 URL 上。示例代码如下: ```javascript import axios from 'axios'; axios.get('url', { params: { id: '接口配置参数(相当于url?id=xxxx)', }, }) .then((res) => { console.log(res); // 处理成功的函数 }) .catch((error) => { console.log(error); // 错误处理 }); ``` 这种方式代码更清晰,适合参数较多的情况,便于管理和维护 [^2]。 ### 处理数组参数(使用 `paramsSerializer`) 若参数包含数组,可使用 `paramsSerializer` 来自定义参数序列化方式。示例代码如下: ```javascript import axios from 'axios'; import qs from 'qs'; const params = { ids: [1, 2, 3] }; axios.get('url', { params: params, paramsSerializer: function(params) { return qs.stringify(params, { arrayFormat: "repeat" }); }, }) .then(res => { console.log(res); }) .catch(err => { console.log(err); }); ``` 此方法可确保数组参数以正确的格式传递给服务器 [^5]。 ### Axios 版本差异 在 Axios 0.27.0 版本之前,若在 GET 请求中包含 `data` 属性,Axios 会将这些数据作为查询字符串附加到 URL 上。但从 0.27.0 版本开始,AxiosGET 请求和 `data` 属性的处理有了变化 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

计算机软件bs辅导

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值