qs.stringify和qs.parse

1.qs.stringify()作用是将对象或者数组序列化成URL的格式。

  • 对象序列化
let obj = {
    
    
methods: 'queryStu'
id: 1,
name: 'zdy'
}
qs.stringify(obj)
//   methods=queryStu&id=1&name=zdy    这就是我们的传到服务器的url

  • 数组序列化
let arr = [2,3]
qs.stringify({
    
    a:arr})
// 'arr[0]=2&arr[1]=3'

这种格式可以进行转为序列化,但是url中会带有数组的下标a[0]、a[1],这并不是我们一般的处理办法。常用方法如下:

// 常用并推荐使用
let arr = [2,3]
qs.stringify({
    
    a:arr},{
    
    indices:false});
// 'arr=2&arr=3' 注意这个格式,一般我们常用的格式
  1. qs.parse()则就是反过来啦,将我们通过qs.stringify()序列化的对象或者数组转回去。
let url = 'id=1&name=zdy'
qs.parse(url)
// {id:1,name:zdy}  

传参

在往后端传参的时候,可以选择使用表单的方式或者json的形式进行传输
前端封装axios默认是采用json的方式进行传输,如果要使用表单的方式进行提交需要修改:

 "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"

后端如果使用@requestBody 那么就需要前端传递的是json格式,请求头里需要设置为

 "Content-Type": "application/json;charset=UTF-8"

猜你喜欢

转载自blog.csdn.net/qq_42931285/article/details/129807800
qs