位置: 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)

  • 魅族17是什么类型的扬声器(魅族17是旗舰机吗)

    魅族17是什么类型的扬声器(魅族17是旗舰机吗)

  • 微信群怎么突破40人(微信群怎么突破200人扫码进群)

    微信群怎么突破40人(微信群怎么突破200人扫码进群)

  • 爱奇艺传视频怎么互传(2021最新版爱奇艺怎么传片)

    爱奇艺传视频怎么互传(2021最新版爱奇艺怎么传片)

  • 手机屏翘起来了危险吗(手机屏翘起来了会有危险吗)

    手机屏翘起来了危险吗(手机屏翘起来了会有危险吗)

  • 计算器e9是什么意思(计算器e9是什么功能键)

    计算器e9是什么意思(计算器e9是什么功能键)

  • oppo手机更新完系统卡怎么办(Oppo手机更新完后 怎么回复更新前版本)

    oppo手机更新完系统卡怎么办(Oppo手机更新完后 怎么回复更新前版本)

  • 剪辑方法包括哪些(剪辑方法包括哪些宋崇)

    剪辑方法包括哪些(剪辑方法包括哪些宋崇)

  • airpods pro充电时灯会一直亮吗(airpods pro充电时一直响)

    airpods pro充电时灯会一直亮吗(airpods pro充电时一直响)

  • 苹果手机叫什么(苹果手机叫什么唤醒)

    苹果手机叫什么(苹果手机叫什么唤醒)

  • 苹果可以应用分身吗(苹果可以应用分身淘宝吗)

    苹果可以应用分身吗(苹果可以应用分身淘宝吗)

  • 剪映怎么导出原画质(剪映怎么导出原声)

    剪映怎么导出原画质(剪映怎么导出原声)

  • 正在验证已更新的iphone软件(正在验证已更新的iPhone软件出错)

    正在验证已更新的iphone软件(正在验证已更新的iPhone软件出错)

  • 华为990和980区别(华为990与980的区别)

    华为990和980区别(华为990与980的区别)

  • 腾讯微视现金令是干嘛的(微视领腾讯)

    腾讯微视现金令是干嘛的(微视领腾讯)

  • 抖音直播很卡是什么原因(抖音直播卡是网络原因还是手机)

    抖音直播很卡是什么原因(抖音直播卡是网络原因还是手机)

  • 芯片组由什么组成(芯片组由什么组构成)

    芯片组由什么组成(芯片组由什么组构成)

  • 快手无法关注对方怎么回事(快手无法关注对方怎么办)

    快手无法关注对方怎么回事(快手无法关注对方怎么办)

  • 微信朋友圈一天能删多少(微信朋友圈一天最多能发几条)

    微信朋友圈一天能删多少(微信朋友圈一天最多能发几条)

  • 海康威视硬盘不存在(海康威视硬盘不识别)

    海康威视硬盘不存在(海康威视硬盘不识别)

  • QAM的调制原理(qam调制过程)

    QAM的调制原理(qam调制过程)

  • jkm一al00什么型号(jkm-al00b是哪款手机)

    jkm一al00什么型号(jkm-al00b是哪款手机)

  • 关于MacOS系统使用Goland等ide debug失败的问题(macos使用技巧)

    关于MacOS系统使用Goland等ide debug失败的问题(macos使用技巧)

  • 解决城市内涝的措施有哪些?需要用到哪些监测设备?(解决城市内涝的题目)

    解决城市内涝的措施有哪些?需要用到哪些监测设备?(解决城市内涝的题目)

  • 使用python中的pymrmr模块来进行特征提取,深入学习mRMR(最大相关最小冗余准则)(python pymongo)

    使用python中的pymrmr模块来进行特征提取,深入学习mRMR(最大相关最小冗余准则)(python pymongo)

  • 大数据现在找工作难么(大数据找工作好找吗)

    大数据现在找工作难么(大数据找工作好找吗)

  • 学生兼职怎么交个人所得税吗
  • 产权转让印花税计税依据
  • 预付账款对方公式怎么算
  • 公司组织出国旅游费用
  • 用友t3软件的系统内没有利润表模块
  • 应付账款周转率和存货周转率公式
  • 进项抵扣税率是多少
  • 控股子公司增资扩股
  • 纳税人性质怎么改
  • 企业对公账户转法人私户
  • 增值税一般纳税人证明文件
  • 采购商品未入库的会计分录
  • 咨询服务费要交税吗
  • 实际报销人是什么意思
  • 日用品发票能报销吗
  • 从公司账户取现金
  • 增值税专用发票电子版
  • 企业所得税视同销售的捐赠扣除
  • 跨期费用审计调整分录
  • 期望值E(X)怎么算例题
  • 付现所得税体现在哪方面
  • window11正式版什么时候出来
  • 年度中间适用的预扣率高于全年综合所得年适用税率
  • 股权收购特殊性税务处理案例
  • ConquerCam.exe进程的详细介绍 ConquerCam进程信息介绍
  • linux 书 推荐
  • php如何防止xss攻击
  • 控股公司的账务处理
  • 董事费如何计算个人所得税
  • 加班费的计算基数包括补贴吗
  • 劳务费还没发可以先计提吗
  • 怎样利用 getnext 命令检索未知对象?
  • day01-GUI坦克大战01
  • 质保金如果以后可以退吗
  • 以公司名义开的诊所算个体工商户吗
  • 坏账准备是什么性质的科目
  • 陈列费属于什么类目的
  • 哪些合同必须签订书面合同
  • 出货后90天付款
  • 捆绑销售如何做税务处理合适?
  • 企业筹建期间银行开户要求
  • 金税盘抵扣在申报表哪填
  • 施工企业的具体工作有哪些
  • 股东之间资金往来
  • 上月计提少了怎么办
  • 增值税是什么的抵减项目
  • 银企对账操作流程
  • 网络发票管理办法细则
  • 研发费用如何做分录分析
  • 如何防止sql注入及数据安全问题
  • 文档介绍
  • winxp关机立马自动重启
  • u盘重装操作系统怎么办
  • os x10.10.5 beta下载 mac os x10.10.5beta官方下载地址
  • mac桌面应用
  • 重装win7系统后桌面没东西
  • centos 查看文件夹
  • hpg是什么软件打开
  • win8的应用商店
  • win1021h2正式版
  • Windows 8 Modern Apps 网络隔离如何解除?
  • 跑酷游戏cs
  • [置顶]游戏名:chivalry2
  • [置顶] 《借.住.情.缘》
  • 怎么做小地图
  • node.js的安装方法
  • 置顶聊天的人怎么不见了
  • Unity-DF 2048界面
  • JavaScript+html5 canvas绘制的小人效果
  • 全面解析A型天秤座男
  • 宝鸡税务局长
  • 环保税征收标准可以改吗
  • 车辆购置税和消费税
  • 公司税务认证
  • 自然人电子税务局web端怎么进入
  • 规范性文件失效后,没有新文件,可以使用民法典第十条吗
  • 地方税务局属于地市级还是副省级
  • 车辆购置税税率多少
  • 季度预缴申报表在哪里查询
  • 河北电子税务局怎么使用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设