get传递数组参数

tech2022-11-30  95

get请求时传递的参数有一个是数组时,要做序列化处理。下面是不需要用插件就可以解决的方法

axios有一个方法 paramsSerializer,可以处理params的数组

下面举例:

vue文件里请求时传的是三个参数

methods:{ //发送请求前传参数 let para = { bizIds:bizIds, startAt: this.start, endAt:this.end ,c } getData(para).then(res=>{ js代码 ) }

封装的api文件

1.因为传递的是三个参数,所以要拼接一下 在return

封装的 api export function getData(params) { return request({ url: '/api', method: 'get', params, paramsSerializer: function(params) { const bizIds= params.bizIds.map(_=>`bizIds=${_}`).join('&'); const str = bizIds+'&startAt='+params.startAt+'&endAt='+params.endAt return `${str}` ; } }) }

2.如果只有一个参数bizIds

export function getData(params) { return request({ url: '/api', method: 'get', params, paramsSerializer: function(params) { const bizIds= params.bizIds.map(_=>`bizIds=${_}`).join('&'); return `${bizIds}` ; } }) }
最新回复(0)