我们发送的get请求一般是url?id=1&name=2&gender=3&height=5,也就是属性都是不一样的,axios默认发送的格式也是一样的。可悲的是有时候后端要求的格式是url?name=1&name=2&name=3&name=5。属性都是一样的,只是数值不同而已。是不是有点奇怪?这到底是什么?但是,有时候后台没办法改,只好想办法改,没想到可以。axios可以通过添加paramsSerializer来序列化参数。下面看看具体代码怎么写。1、代码怎么写?//传入的参数是这样的letparams={name:[1,2,3,5]}exportfunctionget(url,params={}){returnnewPromise((resolve,reject)=>{axios.get(url,{params:params,//用于发送这种格式的请求,url?name=1&name=2&name=3paramsSerializer:params=>{returnQS.stringify(params,{indices:false});}}).then(res=>{resolve(res.data);}).catch(err=>{reject(err.data);});});}{indices:false}参数也是必需的!发送请求的效果如下:2.示例代码下载可以复制上面的代码运行看看效果,也可以从GitHub上下载:https://github.com/Jackyyans/code123。更多样例会持续更新,欢迎关注。
