qs模块以及请求头

2020-04-28  本文已影响0人  Cherry丶小丸子

qs模块

// qs.parse()是将URL解析成对象的形式
let url = 'method=data&projectId=100&appToken=123456789';
qs.parse(url) 输出为:
{
    method:'data',
    projectId:'100',
    appToken:' 123456789'
}
// qs.stringify()是将对象 序列化成URL的形式,以&进行拼接(a=1&b=2)
let url = {
    method:'data',
    projectId:'100',
    appToken:'123456789'
}
qs.stringify(url) 输出为: 'method=data&projectId=100&appToken=123456789';

NetWork

一般请求默认使用application/x-www-form-urlencoded编码数据,此时传参形式应为 Form Data,
如果是application/json或multipart/form-data的话,则传参形式应为 Request Payload 的方式(对象方式)

Form Data
1:JSON.stringify(params) 格式为:{"username":"1","password":"1"}
2:qs.stringify(params) 格式为:'username=1&password=1'
Request Payload
post请求参数
格式为:{
    username:1,
    password:1
}
Query String Parameters
get请求

我们设置默认请求头为application/x-www-form-urlencoded

如果当我们传递数格式为formdata的时候,那么请求头是application/x-www-form-urlencoded
如果当我们传递请求参数格式为对象的时候,那么请求头是application/json

关于form-data和json这两种数据格式请求的区别及优劣势,我从网上总结了下面几点:
1.数据格式不同,form-data的数据格式为:a=1&b=2&c=3; json的数据格式为:{“a”: 1, “b”: 2, “c”: 3};
2.请求头不同,form-data:Content-Type: application/x-www-form-urlencoded; json: Content-Type: application/json
3.对于同样的数据信息,使用for-data数据量会比使用json的要小一点;
4.对于可读性来说,json的可读性要好;
5.form-data传二进制比较方便,如上传文件,而使用json则不太合适;

上一篇下一篇

猜你喜欢

热点阅读