位置: IT常识 - 正文

浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉(json与对象的区别)

编辑:rootadmin
浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉 前言

推荐整理分享浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉(json与对象的区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:json对象与json字符串的区别,json与对象的区别,json对象是什么类型,json对象和javascript对象,json与对象,json对象和java对象的区别,json对象和java对象的区别,json对象和javascript对象,内容如对您有帮助,希望把文章链接给更多的朋友!

大家都知道,前端在和后台进行交互联调时,肯定避免不了要传递参数,一般情况下,params 在 get 请求中使用,而 post 请求下,我们有两种常见的传参方式: JSON 对象格式和 formData 格式,但是一些场景是需要我们对这两种数据格式进行转换的,例如表单提交,有些是 JSON 对象格式的数据,有些是 FormData 格式的数据,这个时候就需要我们对其进行转换。

常见的 POST 提交数据方式1. application/x-www-form-urlencoded

表单格式提交数据,通过 form 标签的 action 属性,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。

2. multipart/form-data

这也是一个常见的 post 数据提交的方式,我们使用表单上传文件时,就要让 form 的 enctype 等于这个值,多用于文件上传。

3. application/json

application/json 这个 Content-Type 作为响应头大家肯定不陌生,客观来说,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 json 字符串。由于 json 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 json 的函数,使用 json 不会遇上什么麻烦,并且 json 格式支持比键值对复杂的多的结构化数据。

4. text/xml

相比于 json,xml 不能更好的适用于数据交换,它包含了太多的包装,而且它跟大多数编程语言的数据模型不匹配,xml 是面向数据的,json 是面向对象和结构的。目前多用于 XML 存储数据,存储配置文件等需要结构化存储的地方使用。

JSON 格式和 formData 格式的区别

JSON 请求头:

浅谈 JSON 对象和 FormData 相互转换,打通前端与后端的通信血脉(json与对象的区别)

JSON 负荷:

formData 请求头:

formData 负荷:

通过上面的几张图我们就能大概明白了,前端传的都是二进制数据,两者的 content-type 是不同的,json 我们已经序列化好了,而 formdata 还是需要进行处理。

formdata 的两种格式

multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息;x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。json 对象转 formData

逐个转换

let obj = { id: "001", name: "小蓝", age: "18", sex: "女",};const formData = new FormData();formData.append("id", obj.id);formData.append("name", obj.name);formData.append("age", obj.age);formData.append("sex", obj.sex);console.log(formData);

所有属性值转换

let obj = { id: "001", name: "小蓝", age: "18", sex: "女",};const formData = new FormData();Object.keys(obj).map((key) => { formData.append(key, obj[key]);});console.log(formData);formData 对象转 jsonvar jsonObj = {};formData.forEach((value, key) => (jsonObj[key] = value));
本文链接地址:https://www.jiuchutong.com/zhishi/298322.html 转载请保留说明!

上一篇:机器学习篇-指标:AUC

下一篇:图片格式转换(File、Blob、base64)(图片格式转换pdf)

  • 192.168.3.1华为路由器设置(192.168.3.1华为路由器)

    192.168.3.1华为路由器设置(192.168.3.1华为路由器)

  • amd专用内存和普通内存的区别(amd专用内存)(amd专用内存和普通内存的性能)

    amd专用内存和普通内存的区别(amd专用内存)(amd专用内存和普通内存的性能)

  • oppo加密照片在哪里(oppo加密照片在云服务里找不到)

    oppo加密照片在哪里(oppo加密照片在云服务里找不到)

  • 淘宝如何屏蔽某店铺(淘宝如何屏蔽某个品牌)

    淘宝如何屏蔽某店铺(淘宝如何屏蔽某个品牌)

  • 声卡有什么类型(声卡有哪些类型各自有哪些优缺点)

    声卡有什么类型(声卡有哪些类型各自有哪些优缺点)

  • 华为nova7pro充电要多久(华为nova7pro充电器型号图片)

    华为nova7pro充电要多久(华为nova7pro充电器型号图片)

  • 安全模式无法输入命令(安全模式无法输入怎么办)

    安全模式无法输入命令(安全模式无法输入怎么办)

  • 苹果电脑有word文档吗(苹果电脑有我的电脑吗)

    苹果电脑有word文档吗(苹果电脑有我的电脑吗)

  • 为什么华为手机一直有提示音跟振动(为什么华为手机连接不上wifi)

    为什么华为手机一直有提示音跟振动(为什么华为手机连接不上wifi)

  • 微信企业号申请条件(微信企业号申请需要什么条件)

    微信企业号申请条件(微信企业号申请需要什么条件)

  • 电脑打开wps就卡死是什么原因(电脑打开wps就卡死)

    电脑打开wps就卡死是什么原因(电脑打开wps就卡死)

  • 微淘在哪里进入(店铺微淘在哪里进入)

    微淘在哪里进入(店铺微淘在哪里进入)

  • 运算器中被称为alu的是(运算器简称为)

    运算器中被称为alu的是(运算器简称为)

  • 手机美版有锁什么意思(美版有锁的手机)

    手机美版有锁什么意思(美版有锁的手机)

  • tcpip协议一共有几层(tcpip主要包括哪些协议)

    tcpip协议一共有几层(tcpip主要包括哪些协议)

  • 优酷会员充了怎么退费(优酷会员充了怎么没有)

    优酷会员充了怎么退费(优酷会员充了怎么没有)

  • 电信hd是什么意思(电信号hd是什么意思)

    电信hd是什么意思(电信号hd是什么意思)

  • mde6是小米几(小米mde6s图片及价格)

    mde6是小米几(小米mde6s图片及价格)

  • word文档显示双页面(word显示两个)

    word文档显示双页面(word显示两个)

  • word2010怎么生成条码(word2010怎么生成页码)

    word2010怎么生成条码(word2010怎么生成页码)

  • 苹果下软件验证码空白(苹果下软件验证完整性)

    苹果下软件验证码空白(苹果下软件验证完整性)

  • 苹果11pro max屏幕多大

    苹果11pro max屏幕多大

  • vivo手机怎么打开root(vivo手机怎么打开volte高清通话)

    vivo手机怎么打开root(vivo手机怎么打开volte高清通话)

  • 淘金币在哪能看到过期(淘金币怎么找)

    淘金币在哪能看到过期(淘金币怎么找)

  • 盒马鲜生如何开票(盒马鲜生如何开拓自己的电商之路)

    盒马鲜生如何开票(盒马鲜生如何开拓自己的电商之路)

  • 前端基础,超全html常用标签大汇总(前端的基础知识)

    前端基础,超全html常用标签大汇总(前端的基础知识)

  • 完美解决element-ui的el-input设置number类型后的相关问题(完美解决怠速抖动加油就平稳)

    完美解决element-ui的el-input设置number类型后的相关问题(完美解决怠速抖动加油就平稳)

  • 车船税是否每年都交
  • 电子税务局实名核验失败怎么回事啊
  • 季报利润表本月金额和本年累计金额
  • 费用报销票跨月跨年可以吗
  • 长期待摊装修费会计分录
  • 应交税费是没有增值税吗
  • 弥补以前年度亏损后怎么交所得税
  • 作废的发票还需要保存吗
  • 社保公司部分交多少比例
  • 公司账户被法院冻结了多久可以恢复
  • 企业哪些做法违背了营销道德
  • 个体工商户装修经营范围
  • 应交税费期初数比期末数大
  • 仲裁调解书赔偿多少钱
  • 员工出差车费如何报销
  • 个人以房抵债交税吗
  • 公司无公务用车
  • 虚列成本费用的后果
  • 证券投资基金管理办法
  • 国家税务总局2011年第25号公告
  • 年终奖专项扣除
  • 税收滞纳金变化
  • 存货跌价准备转销
  • 个税扣除每个月更新吗
  • 发票上不小心印上作废两个字怎么办
  • 事业单位的账务
  • 软件开发公司研发主管绩效考核
  • 小企业会计准则成本核算方法选什么
  • 固定资产入账的方式
  • 收不到的物业费是否增值税确认收入
  • 修改bios设置
  • u盘如何装系统win7
  • 长期投资损失的确认
  • php中url什么意思
  • 土地房屋转让协议书
  • PHP:http_build_query()的用法_url函数
  • 新准则委托代建 不得管理费
  • php常见错误
  • 科目余额表和资产负债表的金额不一致的原因
  • 能用javascript 最终
  • chatb
  • GANs系列:CGAN(条件GAN)原理简介以及项目代码实现
  • 建行对账单回签平啥意思
  • 材料采购计入哪个账本
  • 存在现金折扣的会计核算
  • 增值税改动
  • 增值税一般纳税人
  • 企业抵扣进项税条件
  • wordpress提示插件
  • 发票认证系统叫什么名字
  • java变量初始化的两种方式
  • sQlite常用语句以及sQlite developer的使用与注册
  • SQL Server 2016的数据库对象有那些?
  • 办公室购买电脑计入
  • 工会经费上缴流程
  • 增值税加计扣除最新政策2023
  • 小规模开票的税点是多少
  • 装饰公司财务工作内容
  • 固定资产不折旧直接进费用
  • 通讯发票可以税后抵扣吗
  • 为别人开发票先收的税金怎么入帐?
  • 发票验旧后才能领新发票吗
  • win7激活失败提示错误代码0x80072F8F
  • 虚拟机中安装虚拟机
  • centos源码安装软件
  • win10无线网络不见了只显示飞行模式
  • windows8启动项在哪里
  • Win10预览版怎么变回正式版
  • 怎么从win8装回win7
  • win7开机提示由于启动计算机时出现页面文件
  • win8怎么关闭电脑
  • 深入理解
  • perl and
  • 淘宝国际平台叫什么
  • jQuery Validation PlugIn的使用方法详解
  • python编程求一个数的平方
  • javascript教程完整版
  • android源码下载地址
  • 七创社开放时间
  • 2020年税务系统关闭
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设