vue 使用axios+qs向后台传递参数,传递数组参数,传递包含对象的数组参数的解决方法

7 篇文章 0 订阅
3 篇文章 0 订阅

qs

当我用了几次qs以后就发现了个坑
向后台传递数组参数的时候其实是有很多种情况的

qs的基础使用
import qs from 'qs'   //引入方式
this.qs.stringify(data);  //使用方式
this.qs.parse(data);  //使用方式
 
this.$axios.post('/xxx',
        qs.stringify(obj)).then(res=>{
        console.log(res.data)
        if(res.data.ret){
          console.log('添加成功')
        }else{
          console.log('添加失败')
        }
      }).catch(err=>{
        console.log(err);
      })

arrayFormat可以格式化你的数组参数,有三种形式


qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
// 'a[0]=b&a[1]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 'a[]=b&a[]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 'a=b&a=c'

但是我三个都试了还是解决不了我要传递的格式,即members[0].userUuid这种形式
最后面向百度编程,找到了一位好心的前辈所留经验(感谢前辈!)

qs.stringify(obj,{arrayFormat: 'indices', allowDots: true}))
//有了后面这一条代码,就把members[0][userUuid]转成了想要的members[0].userUuid
  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值