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}` ; } }) }