axios get方法傳遞數組

axios的get方法中使用params時對於js數組類型的參數的默認操作比較奇怪,會使得參數名後帶上’[]'字符串,如下


但是console.log參數bizType,就是正常的[‘3’,‘4’,‘5’]
按照網上的寫法,把數組json序列化
在這裏插入圖片描述
再查看參數,發現變成了這樣
在這裏插入圖片描述
本來以爲能解決問題,其實傳遞給後端的是’[“4”,“5”,“6”]’,後端說解析不了🤦‍♀️,於是再換其他解決辦法,在request攔截器裏面添加下面的代碼

if(config.method === 'get'){
        //如果是get請求,且params是數組類型如arr=[1,2],則轉換成arr=1&arr=2
        config.paramsSerializer = function(params) {
            return qs.stringify(params, {arrayFormat: 'repeat'})
        }

請求參數變成了下面這樣:
在這裏插入圖片描述
Request URL:
在這裏插入圖片描述
修改完,後端可以正常接收數組類型~
附上參考文章:
https://segmentfault.com/q/1010000010323643

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