问题:如何使用URLSearchParams处理axios发送的数据?

遇到的问题:

如何使用URLSearchParams处理axios发送的数据?

解决方法:

在使用axios给后台传参数时,我们有些时候会遇到一些问题,比如:数据格式不正确

以最简单的例子为基础(这里使用post方法):

this.$axios.post("search/list",{
    name:"Jack",
    age:"20"
})

 

在上面的例子中我们调用axios的post方法,传给后台的参数为json格式,这和jquery的ajax写法相当类似!

但是,axios发送的数据格式和jquery ajax发送的默认数据格式却不相同,接下来让我们来看一下不同之处:

1.axios的数据类型

2.jquery ajax的数据类型 

看到这里,有的小伙伴就要说了,修改下ContentType不就好了,其实不然,即时是修改了ContentType,数据依然不正确:

this.$axios.post("search/list",{
    name:"Jack",
    age:"20"
},{
    headers:{
        "Content-type":"application/x-www-form-urlencoded"
    }
})

       

       最后,通过度娘的各种检索,终于找到了答案: 使用URLSearchParams来处理参数,URLSearchParams的兼容性并不高,所以使用的时候还是要注意(可以考虑使用babel来转换)

具体的操作如下:

let params = new URLSearchParams();
params.append("name","Jack");
params.append("age","20");
this.$axios.post("search/list",params).then(res=>{});

通过使用URLSearchParams的处理,我们就能像jquery ajax发送的数据一样了!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值