qs.stringify和JSON.stringify

HTTP定义了与服务器进行交互的不同方法,常见的有四种:GET、POST、PUT、DELETE。其中,GET和POST最常用。
两种 HTTP 请求方法:GET 和 POST

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据。
    get和post对比
    在前端向后端传递数据的时候,可以选择使用表单的方式进行提交,也可以转换成json格式进行传输,这取决于自己定义的前后端的数据格式规范。

qs.stringify()

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

  • 对象序列化
let obj = {
methods: 'queryStu'
id: 1,
name: 'yjn'
}
qs.stringify(obj)
//   methods=queryStu&id=1&name=yjn    这就是我们的传到服务器的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' 注意这个格式,一般我们常用的格式

其中:indices:false,去除默认处理的方式。如果不写这个的话,则默认是第一种处理的方式(带下标)
2. qs.parse()则就是反过来啦,将我们通过qs.stringify()序列化的对象或者数组转回去。

let url = 'id=1&name=chenchen'
qs.parse(url)
// {id:1,name:chenchen}  

JSON.stringify()

JSON.stringify() 方法将一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定的 replacer 是数组,则可选择性地仅包含数组指定的属性。
官网说明

传参

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

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

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

 "Content-Type": "application/json;charset=UTF-8"
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值