小tips: qs.stringify() 和JSON.stringify()的区别以及在vux中使用post提交表单数据需要qs库序列化

Posted 风雨后见彩虹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小tips: qs.stringify() 和JSON.stringify()的区别以及在vux中使用post提交表单数据需要qs库序列化相关的知识,希望对你有一定的参考价值。

qs库的npm地址:https://www.npmjs.com/package/qs

功能虽然都是序列化。假设我要提交的数据如下

var a = {name:‘hehe‘,age:10};

qs.stringify序列化结果如下
name=hehe&age=10

而JSON.stringify序列化结果如下:
"{"a":"hehe","age":10}"

vux中使用post提交表单数据:

this.$http.post(this.$sign.config.url.loginUrl,this.$qs.stringify({
    "phone":this.phoneNumber,
    "vCode":this.loginCode,
    "smsCode":this.phoneCode    
    })
)
.then(response=>{
    console.log(response.data);
    if(response.data.httpCode == 200){
        
    }else{
        
    }
}) 

在firebug中可以看到传递的参数:
phone=15210275239&vCode=8vsd&smsCode=1534

在vue中使用axios:

this.$axios.post(loginUrl, {
    "email": this.email,
    "password": this.password
}, {
    transformRequest: (data) => {
        return this.$qs.stringify(data)
    },
}).then(res => {
    if(res.data.resultCode == RESULT_CODE_SUCCESS){
        console.log(‘登录成功‘);
        this.$router.push({name:"home"})
    }else{
        console.log(‘登录失败‘);
    }
}).catch(err => {
    console.log(‘登登录出现错误‘);
})

 

以上是关于小tips: qs.stringify() 和JSON.stringify()的区别以及在vux中使用post提交表单数据需要qs库序列化的主要内容,如果未能解决你的问题,请参考以下文章

qs.stringify、qs.parse、JSON.stringify的使用和区别

qs.stringify和JSON.stringify()

qs.stringify和JSON.stringify的使用和区别

qs.stringify()qs.parse()的使用

qs.parse()qs.stringify()使用方法

qs.parse()qs.stringify()JSON.parse()JSON.stringify()使用方法