vue中使用post请求传递params参数
使用post请求时,通常只包含body的数据,但http协议并没有规定post协议不能传params参数,这就意味着一个post请求同时可以包含params和body两部分数据。在传递两部分参数时,一定要注意,body部分一定要转成字符串(JSON.stringify),否则浏览器会先发送一个options请求,进而引起405错误。
axios({
url: "***/Device/EditName",
method: 'post',
data:JSON.stringify({username: this.$sess.get("userInfo").username,
token: this.$sess.get("userInfo").token,
}),
params:{
deviceID: this.form.deviceID,
deviceName: this.form.name,},
}).then(res=>{
if(res.data.resultcode==0){
this.$message({
message: '修改成功',
type: 'success'
});
}
})
}
纠正一下网上一种错误的说法,说是get请求没有请求体,或者不能通过请求体传递参数。这种说法是错误的,本人亲测验证,大家可以使用下面的代码进行证实。