美文网首页
qs模块以及请求头

qs模块以及请求头

作者: Cherry丶小丸子 | 来源:发表于2020-04-28 14:12 被阅读0次

    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则不太合适;

    相关文章

      网友评论

          本文标题:qs模块以及请求头

          本文链接:https://www.haomeiwen.com/subject/rlouwhtx.html