• ajax数据提交的4种格式


     ajax POST提交的方式有4种

    1. Content-Type: application/x-www-form-urlencoded
    2. Content-Type: application/json
    3. Content-Type: multipart/form-data 
    4. Content-Type: text/plain

    1. application/x-www-form-urlencoded

    此种方式,

    1.1 参数为 name=fa&&age=22, 则chrome中显示为

    Form data
        name: li
        age: 22

    1.2 参数为 {name:'fa',age:22}, 则chrome中显示为

    Form data
        {"name":"fa","age":"22"}

    jquery默认使用此种方式发送数据,传入的对象格式的参数也会自动格式化为第一种的字符串格式
    axios默认采用application/json, 即使设定Content-Type: application/x-www-form-urlencoded,也不会自动
    将传入的对象格式的参数格式化为字符串,会产生1.2形式的参数发送,需要手动进行格式化。
    可以使用 Object.keys(obj).reduce((pre,cur) => pre + '&' + cur=obj[cur],'')
    或者使用 URLSearchParams 来处理。

    2. Content-Type: application/json

    2.1 参数格式 {name:'fa',age:22}, 则chrome中显示为

    Request Payload
        {name: 'fa', age: 22}
            age: 22
            name: 'fa'        

    Request Payload是json格式参数在chrome中的显示方式。

    3. Content-Type: multipart/form-data

    格式如下:

    Content-Type: multipart/form-data; boundary=---------------------------314911788813839
    
    -----------------------------314911788813839
    Content-Disposition: form-data; name="foo"
    
    bar
    -----------------------------314911788813839
    Content-Disposition: form-data; name="baz"
    
    The first line.
    The second line.
    
    -----------------------------314911788813839--

    FormData格式数据也可以换用Content-Type: multipart/form-data,格式会变成上面的样子。

    4. Content-Type: text/plain

    格式如下:

    foo=bar
    baz=The first line.
    The second line.

    参考:  https://www.cnblogs.com/ChengWuyi/p/7117060.html

  • 相关阅读:
    两个路由器配置静态路由只能单边 ping 通
    CVE202125646:Apache Druid远程命令执行漏洞复现
    批量修改图片的格式
    十大远程控制软件排名
    Splashtop 免费60天 大赠送
    单例设计模式
    蓄水池抽样算法/水塘采样算法
    kafka安装(单机版)
    LeetCode382链表随机节点
    LeetCode398随机数索引
  • 原文地址:https://www.cnblogs.com/mengff/p/13402659.html
Copyright © 2020-2023  润新知