axios发送post请求时,这样的数据格式对吗
这是发出去的参数listQuery
listQuery: {
current: 1,
size: 20,
factoryName:"ddd",
address:"ddd"
},
getList() {
this.listLoading = true
getFactoryList(this.listQuery).then(response => {
// this.list = response.data.records
// this.total = response.data.total
})
},
这是getFactoryList
export function getFactoryList(params) {
return request({
url: '/factory/page',
method: 'post',
header:{
'Content-Type':'application/json' //如果写成contentType会报错
},
params
})
}
这里的getFactoryList里,需要设置content-type吗?axios默认就是它吧?然后发出的直接是对象会自动转化成json吗?这样在浏览器的呈现结果对吗?拼接在浏览器后面的不是get了吗,想确认如果post请求的话,该怎么改
============================================
找到了, 应该是用params的问题,改成了data,有没有详细解释一下这个
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
axios 文档中有说。
其实你可以理解为想带在url上就用params
想放在body中就用data
url 上的话,只有一种格式。body中的话支持的格式就比较多了。json、formdata之类的
按照规范来讲,post还是应该把参数放入body中。
最近好像挺多提的问题都是
parmas
传入的参数的形式。然后是默认值的问题
axios
的默认的headers
内['Content-Type'] = 'application/x-www-form-urlencoded'
可以完整的读一下 Axios 的文档,
比如说 默认值 、实例配置项 以及 拦截器
最后贴一下 Ant-Design-Vue-Pro 封装的 Axios: