最近接触了一个项目,需要将前端获取的参数提交给后端,但是这个参数的形式和我以前遇到的post提交都截然不同,格式如下:
毫无疑问,入参为一个对象,并且要求将参数拼接在接口后面,由于没有接触过这种问题,因此走了很多弯路,在这里直接给出代码
let person = JSON.stringify({
name: "皮卡丘",
age: 18
})
axios.post(addPerson.go + "?person=" + person).then(function(res){
if(res.data.success == true && res.data.data == true){
alert("成功添加!")
}else{
alert("添加失败")
}
}).catch(error => {
console.log(error)
})
毫无疑问,这种需要拼接字符串的方式,可以直接在给定URL的后面直接拼接,如果需要传递对象,需要提前将对象转换一下,使用JSON.stringify(data)即可,同样,如果需要传递多个对象,如给定的需求为addPerson.go?person1={}&person2={},那么只需将代码修改为:
let person1 = JSON.stringify({
name: "皮卡丘",
age: 18
})
let person1 = JSON.stringify({
name: "皮卡猫",
age: 28
})
axios.post(addPerson.go + "?person1=" + person1 + "&person2=" + person2).then(function(res){
if(res.data.success == true && res.data.data == true){
alert("成功添加!")
}else{
alert("添加失败")
}
}).catch(error => {
console.log(error)
})