axios传递数组格式参数

1. 安装qs

npm install qs

2. 导入qs

import qs from 'qs'

3. 配置qs参数处理

(方法1:)axios拦截

axios.interceptors.request.use(config => {

         if (config.method === 'get') {
            config.paramsSerializer = function(params) {
              return qs.stringify(params, { arrayFormat: 'repeat' })
            }
          }

          return config
        }, error => {
          return Promise.reject(error)
        })

(方法2:)直接请求处理

axios.get(`/api/get/batch`,
{
  params:{url},
  headers:{
    Authorization: `Bearer ${token}`
  },
  // 主要是以下四行代码
  paramsSerializer:function(params){
     return qs.stringify(params, { arrayFormat: 'repeat' })
  }
}).then(result=>{
  resolve(result.data)
})

4. 转换后的数组格式有4种

1. qs.stringify({ids: [1, 2, 3]}, { indices: false }) //形式: ids=1&ids=2&id=3

2. qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘indices‘}) //形ids[0]=1&aids1]=2&ids[2]=3

3. qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘brackets‘}) //形式:ids[]=1&ids[]=2&ids[]=3

4. qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘repeat‘}) //形式: ids=1&ids=2&id=3

5. ajax发送list数据到springmvc的controller层报错,提示类型不对

(1). springmvc需要的格式:

     list[0].asc=true

     list[1].column=create_time

(2). 上面qs使用方式直接改为

        qs.stringify(params, { allowDots: true })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值