在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 時用這種方法比較保險。