关于前端:前端请求参数序列化的相关答疑

1.什么是序列化

“序列化是将对象状态转换为可放弃或传输的格局的过程”

艰深的来说就是要把js中的Object类型转换成String类型,那为什么要把Object转换成String呢?

2.为什么须要用序列化

js中的数据类型有根底数据类型(String、Number、Boolean、Undefined、Null、Symbol)和援用数据类型(Object、Array、function等)

根底数据类型保留在计算机栈内存中,援用数据类型保留在堆内存中,它的指针寄存在栈内存。

咱们在发送申请的时候,如果携带着援用数据类型参数,那么携带的参数只会携带指针不会携带堆内存中的内容

根底数据类型能够间接携带值,所以把援用类型参数序列化为根本数据类型参数很有必要

3.序列化的办法

用于把 JavaScript 对象转换为 JSON /URL字符串
JSON.stringify() 序列化为json格局
qs.stringify()  序列化为url格局如(a=1&b=2&c=3)

留神区别:
     Content-Type:'application/json' 应用JSON.stringify()
     Content-Type:'application/x-www-form-urlencoded'时应用qs.stringify()
     不同headers的应用场景目前还不太确定具体关联,这里只做一个参考
    

4.反序列化:

把 JSON/URl 字符串解析解析成一般的 JavaScript 对象
JSON.parse()
qs.parse()

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理