首页 > 其他分享 >关于前端接口的formData传参

关于前端接口的formData传参

时间:2023-08-24 12:25:06浏览次数:80  
标签:传参 浏览器 formData 接口 formdata value key Type FormData

工作中遇到个简单的问题,后端提供接口需要前端用formdata 传文件和普通对象参数拼接的参数;
本来是个简单的问题,记录一下做个简单的总结顺便梳理下相关基础性知识点:


1. formdata 将数据转换成键值对进行传参, key是唯一,一个key可以对应多个value,如果是使用表单初始化,每个表单字段对应一条数据, 那么表单的name对应FormData的key,value对应FormData的value;

tips:
1. Formdata是个浏览器的内置对象
==》扩展:浏览器的内置对象还有哪些?

2. 前端使用需要通过new方式生成一个Formdata的实例,可以传入file或者blob,如果非这两种类型会被转成字符串,关于使用方法常用的有两种:
  1. js获取DOM节点 通过 new FormData(获取的DOM节点) 方式

  2. 通过append方式

	let formdata = new FormData();
	formdata.append([key], [value])
	取用的话通过
	formdata.get([key])
	formdata.getAll([key])

==> 扩展:FormData的常用方法还有哪些?

3.关于请求头设置:正常通过FormDatad对象生成实例,调用XMLHTTP请求,不需要设置header的Content-Type,因为发现data是formData的时候 XHR的适配器会强制删除Content-Type,让浏览器自行生成;

tips:
但是不同库封装不同需要自行研究,例如axios直接封装的XMLHTTP所以不用设置;而 Umi-request,请求option需要设置 requestType: 'form';
因为formdata浏览器自动设置Content-Type为 multipart/form-data的时候会自行生成一个参数boundary
image
这个 boundary 就是不同数据的一个标记字符串,formidable 解析数据时也是以这个来分块解析的;

标签:传参,浏览器,formData,接口,formdata,value,key,Type,FormData
From: https://www.cnblogs.com/yejingxiao/p/17653838.html

相关文章

  • 接口设计中的版本号
    今天呢,闲来无事,想到了接口设计的版本号的一些知识,特此来简单的说下API接口设计中的Version版本号。我们在接口的日常开发中,肯定都避免不了接口永成不变,那么就会出现接口变更,那么接口变更又是怎么区分的呢?接口变更又会不会对老接口有什么影响或者其他的呢,说了这么多,这就引出了一......
  • OS(二十三):接口之系统调用
    操作系统是用户与计算机硬件系统之间的接口。OS向用户提供了用户接口和程序接口两类接口。用户接口:操作系统为用户提供的用户与操作系统的接口。程序接口:操作系统向编程人员提供程序与操作系统的接口。1、系统调用程序接口是OS专门为各用户程序设置的,是用......
  • pytestx重新定义接口框架设计
    概览脚手架:目录:用例代码:"""测试登录到下单流程,需要先启动后端服务"""test_data={"查询SKU":{"skuName":"电子书"},"添加购物车":{"skuId":123,"skuNum":......
  • Sentinel实现接口流量控制
    简介Sentinel是阿里巴巴开源的限流器熔断器,并且带有可视化操作界面。启动控制台下载地址java-Dserver.port=8089-Dcsp.sentinel.dashboard.server=localhost:8089-Dproject.name=sentinel-dashboard-jarsentinel-dashboard-1.8.6.jar注意不要使用windows下的PowerShel......
  • SIT1040Q 5V 供电,±40V 接口耐压,1Mbps 高速 CAN 总线收发器
    SIT1040Q是一款应用于CAN协议控制器和物理总线之间的接口芯片,可应用于卡车、公交、小汽车、工业控制等领域,速率可达到1Mbps,具有在总线与CAN协议控制器之间进行差分信号传输的能力。完全兼容“ISO11898”标准;符合AEC-Q100要求;内置过温保护;过流保护功能;显性超时......
  • API接口变更频繁,协作效率低?试试Apipost
    在团队协作开发和API管理过程中,API接口变更频繁、变更信息得不到及时同步且同步后沟通效率低,各个环节人员处理问题节奏不统一等等,都是在API开发中很多开发者面临的痛点。这些痛点可能会导致工作进度受阻、出现重复动作等多个问题,甚至给整个项目带来风险。这些问题在项目研发中是不......
  • 网络安全-修改基础接口配置(MSTP负载均衡)
    [s3-GigabitEthernet0/0/1]disthis#interfaceGigabitEthernet0/0/1portlink-typeaccessportdefaultvlan10#return[s3-GigabitEthernet0/0/1]portde [s3-GigabitEthernet0/0/1]portdefaultvlan1\^Error:Wrongparam......
  • 微信小程序调用微信接口报40001
    背景小程序登录需要获取手机号,调用该接口发现接口报错并返回错误码40001。该错误码官方解释:获取access_token时AppSecret错误,或者access_token无效。请开发者认真比对AppSecret的正确性,或查看是否正在为恰当的公众号调用接口。排查发现reids里的token缓存并没有过期,后面......
  • 拼多多app商品详情接口 获取pdd商品主图价格销量库存信息
    拼多多是中国一家知名的电商平台,以"社交+团购+新零售"的商业模式闻名,通过手机app和微信小程序等渠道提供商品销售和购物体验。平台上的商品种类丰富多样,涵盖了服装、家居、美妆、食品、数码电子等各个领域。拼多多的商业模式主要是基于团购和拼团的形式,用户可以邀请亲友们一起参......
  • CRUD接口_新增操作
        ......