axios和后端交互时,参数需要写在body和query中,该怎么写?

clipboard.png

这是后端要求传的参数。

如果参数全部写在body中,这个我会写。

如果参数全部写在query中,这个我会写。

参数又有写在body又有写在query 这该怎么写呀?

我试了一下不行

this.$axios.get('/back/content/list',{
    params:{
        pageNo:this.page_current, //当前页
        pageSize:this.page_number, //每页数量
    }
},
{
    author:"",
    title:"",
    channelId:"",
    status:"",
    isFreeType:"",
    audit:""
})
.then(res=>{
    if(res.meta.code == 200){
        this.loading = false;
        this.tableData = res.data.dataList.list; //list
        this.allTotal = res.data.dataList.total; //分页,总数
    }
})

阅读 10.3k
3 个回答

1.你这接口是post方式的吧?确定没看错接口文档?
2.get不能将请求参数放进请body求体。

this.$axios.get('/back/content/list',{
    params:{
        pageNo:this.page_current, //当前页
        pageSize:this.page_number, //每页数量
    }
},

3.get实际发出的请求是/back/content/list?pageNo=1&pageSize=1

4.如果想实现贵后端的描述,只能

this.$axios.post('/back/content/list?pageNo=1&pageSize=1'//要放进query的参数,
{
       status:true,//要放进body的参数(注意这里的参数没有params)  巴拉巴拉一大堆 
}),

query的参数其实你可以在请求路径上面做成变量拼接的方式。
如果使用fetch 就更美观了,使用data 跟params这两个对象属性就好了。

axios.get('/api/xxx',{
    params: {
        // query
    }
})
axios.post('/api/xxx',{
// post body
},{
    params: {
        // query
    }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏