vue中get請求如何傳遞數(shù)組參數(shù)

昨天在項目中遇到了 前端需要用get請求方式傳遞數(shù)組格式參數(shù)給后端,貼一下解決辦法

解決方案

1.qs插件

qs主要是增加一些安全性的查詢字符串解析和序列化字符串的庫,qs的更多使用方式可以參考總結中提供的地址學習? ? ? ? ? ??

? ? qs.stringify({a:['b','c']},{arrayFormat:'indices'}) // 輸出結果:'a[0]=b&a[1]=c'2

? ? ?qs.stringify({a:['b','c']},{arrayFormat:'brackets'}) // 輸出結果:'a[]=b&a[]=c'3

? ? ?qs.stringify({a:['b','c']},{arrayFormat:'repeat'})? ?// 輸出結果:'a=b&a=c'4

? ? ?qs.stringify({a:['b','c']},{arrayFormat:'comma'})? ?// 輸出結果:'a=b,c'

上述我們列舉了qs中的序列化幾種配置,其中{ arrayFormat: 'repeat' }的序列化結果滿足我們的條件

2 axios配置

axios中有一個專門對數(shù)據(jù)進行序列化的配置屬性paramsSerializer

paramsSerializer:function(params){returnQs.stringify(params,{arrayFormat:'repeat'})},

2.3 具體配置

我們可以在axios請求攔截器中對參數(shù)進行序列化配置

axios.interceptors.request.use(async(config)=>{

//只針對get方式進行序列化

if(config.method==='get'){

config.paramsSerializer=function(params){

returnqs.stringify(params,{arrayFormat:'repeat'})}}}


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容