好久没写js了,今天写js请求时发现发起的get请求,参数丢了
情况复现:
在这里插入图片描述
但js代码感觉没问题:

但就是参数带不上,后来看了一下我请求方法getCategoryAtrribute()方法。
在这里插入图片描述
底层对axios的包装:
在这里插入图片描述

因为js对对象类型是引用传递的,所以肯定是我的定义的入参出了问题,后来记起

axios时的配置选项中包含params和data两者

params是添加到url的请求字符串中的,用于get请求。
data是添加到请求体(body)中的, 用于post请求。

平常我们直接发起axios请求会这样写:

axios({
method: "get",
url: "http://www.baidu.com/",
params: {
info: "get请求"
},
})

所以我之前的问题出在传进去的get参数应该是包含在params对象里面的,axios通过传进去的对象获取里面的params对象,然后拿到get请求参数拼接请求uri的。所以正确格式应该是:
在这里插入图片描述
同理是下面这样,当然推荐上面一种写法(方便:
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐