前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >axios 1.x 0.27 请求参数数组序列化

axios 1.x 0.27 请求参数数组序列化

作者头像
路过君
发布2022-11-22 09:03:23
9560
发布2022-11-22 09:03:23
举报
文章被收录于专栏:路过君BLOG from CSDN

axios从0.27升级到1.x版本后不再依赖qs,请求参数序列化方式有所变化

方式1 括号(默认)

用括号标识数组参数

效果

http://url?myParam[]=1&myParam[]=2&myParam[]=3

1.x版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer: {
        indexes: false
    }
})

0.27版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer:(params) => qs.stringify(params, { arrayFormat: 'brackets' }) 
})

方式2 索引

方法1括号中额外增加元素索引

效果

代码语言:javascript
复制
http://url?myParam[0]=1&myParam[1]=2&myParam[2]=3

1.x版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer: {
        indexes: true
    }
})

0.27版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer:(params) => qs.stringify(params, { arrayFormat: 'indices' }) 
})

方式3 重复

直接重复参数

效果

代码语言:javascript
复制
http://url?myParam=1&myParam=2&myParam=3

1.x版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer: {
        indexes: null
    }
})

0.27版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer:(params) => qs.stringify(params, { arrayFormat: 'repeat' }) 
})

方式4 都好分割

使用逗号分隔数组元素值,在axios 1.x版本中默认不再支持,如需使用可自行添加qs依赖

效果

代码语言:javascript
复制
http://url?myParam=1,2,3

1.x版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer: {
        encode: (params) => qs.stringify(params, { arrayFormat: 'comma' })
    }
})

0.27版本代码

代码语言:javascript
复制
axios.get('http://url',{
	params: {
		myParam: [1,2,3]
	},
    paramsSerializer:(params) => qs.stringify(params, { arrayFormat: 'comma' }) 
})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方式1 括号(默认)
    • 效果
      • 1.x版本代码
        • 0.27版本代码
        • 方式2 索引
          • 效果
            • 1.x版本代码
              • 0.27版本代码
              • 方式3 重复
                • 效果
                  • 1.x版本代码
                    • 0.27版本代码
                    • 方式4 都好分割
                      • 效果
                        • 1.x版本代码
                          • 0.27版本代码
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档