axios中param和data方式提交
今天在联调的时候遇到一个问题:get请求没能将值传到后台.
我们项目中使用的是element-admin框架,接口什么的都按照正常的流程填写,在api文件下的list.js中抛出一个方法:
export function getList(data) {
return request({
url: '/dome/table/list',
method: 'get',
data
})
}
然后在使用接口的vue文件中调用方法传值:
<script>
import { getList } from '@/api/table'
export default {
methods:{
fetchData() {
getList({page:1,pageNumbe:1}).then(response => {
this.list = response.data.items
this.listLoading = false
})
},
}
}
</script>
然后发现没有将{page:1,pageNumbe:1}传给后台。
经过查资料才明白,在使用axios发请求的时候,param和data是有区别的。
params是添加到url的请求字符串中的,用于get请求
而data是添加到请求体(body)中的, 用于post请求
所以将api文件的list.js改为:
export function getList(data) {
return request({
url: '/dome/table/list',
method: 'get',
param:data
})
}
这样就可以正常调接口了