vue之 ajax post數據失敗的一種情況及解決方法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章