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