在vue项目中遇到过一个这样的问题。:
向后台数据接口post数据时,惯用的将参数放在 obj 对象,然后将obj 对象传入接口函数的时候,返回bad request 400错误。
export async function downcolumn(id) {
let obj = {
id: id,
}
return smartDeskPost({
method: 'post',
url: '/smartWin/userAsset/sortDown',
data: obj,
})
} //下移栏目接口
尝试了各种解决方法,甚至重写了ajax函数,仍然不行。
直到改变了obj的传入接口函数的形式。 改用formData 的形式传入数据。就OK了
export async function downcolumn(id) {
let formData = new FormData()
formData.append('id', id)
return smartDeskPost({
method: 'post',
url: '/smartWin/userAsset/sortDown',
data: formData,
})
} //下移栏目接口
这里抛弃了在obj中放置数据的方法,定义了formData对象 ,并使用append 添加属性名和属性值 ,最后把formdata传给接口函数的data.
Post 时用这种方法比较保险。