前后端数据传参详解

这篇文章是有选择性的摘抄的前辈的,方便以后自己看摘抄地址

1. Http数据传参的两种方式

  1. uri传参
    数据参数写在uri地址中,可以为查询参数,也可以为路径参数,一般get请求方式用的多。
    优点:一个TCP传输就可以将参数传递给服务器,速度快。
    缺点:参数直接暴露在浏览器中,不安全。
  2. body传参
    数据参数写在body体中,有多种content-type格式:json、xml、form-data,一般post请求方式用的多。
    优点:相对安全,没有大小限制。
    缺点:需要两个TCP传输,第一次传输head,第二次传输body。

2.content-type的不同数据格式及使用注意事项

  1. application/json (在axios中默认的post就是这种格式)
    这个大家很熟悉,就是json格式的数据,在网络流中被编码成json格式的字符串,如:{“key1”:“value1”,“key2”:“value2”}

  2. application/x-www-form-urlencoded
    浏览器的原生 form 表单格式,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码,最终网络流中被编码成类似于这种格式的字符串:title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

  3. multipart/form-data
    也是浏览器的原生 form 表单格式,与上面不同的是,这个既可以传键值对,也可以用来上传文件。我们使用表单上传文件时,必须让 form 的 enctyped 等于这个值。

所以在进行开发时,要弄清楚我们需要传输的数据到底是什么格式的,比如,如果传的是一个file文件,那么我们的content-type就要为multipart/form-data,如果content-type错误的写为application/json,必然会导致后端解析错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值