• 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

  • 相关阅读:
    小程序滴滴车主板块的银行卡管理左滑删除编辑
    超好用超短的小程序请求封装
    如何使用css来让图片居中不变形 微信小程序和web端适用
    纯css手写圆角气泡对话框 微信小程序和web都适用
    小程序getUserInfo授权升级更新登录优化
    一起聊聊3个线程依次打印1、2、3...的故事
    influxdb基础那些事儿
    influxdb的命令们
    Linux namespace浅析
    kubernetes基础概念知多少
  • 原文地址:https://www.cnblogs.com/mengff/p/13402659.html
Copyright © 2020-2023  润新知