如果用axios请求,发送数据格式为query方式,并且发送参数数据中有数组,会导致参数中有[]的问题,如下方例子
http://localhost/dev-api/wk/roster/export?workerIdList[]=431075006414849&workerIdList[]=429322722672641
这样会导致请求失败,状态码为
400的错误,解决方式就是用qs包来配置一下
- 下载
qs包并引用
npm install qs
import qs from 'qs';
- 设置
axios配置中paramsSerializer参数
export const exportRosterApi = (data) => {
return request({
url: `/wk/roster/export`,
method: 'post',
params: data,
paramsSerializer: { // 解决数组url传参时参数带'[]'问题
serialize: params => qs.stringify(params, { arrayFormat: 'repeat' })
}
})
}
配置后再请求就会去掉[],如下方请求链接:
http://localhost/dev-api/wk/roster/export?workerIdList=431075006414849&workerIdList=429322722672641