当前位置: 首页 > news >正文

企业网站app长宁青岛网站建设

企业网站app,长宁青岛网站建设,外贸婚纱礼服网站,网站推广采用的方法这里写目录标题 一、基本概念二、常用方法1.append(name, value)、set(name, value)2.get()、getAll()3.has(name)4.delete(name)5.keys(),values(),entries() 三、其他细节1.for of遍历2.转为对象3.结合 URLSearchParams 转为queryString 一、基本概念 FormData 提供了一种表…

这里写目录标题

  • 一、基本概念
    • 二、常用方法
      • 1.append(name, value)、set(name, value)
      • 2.get()、getAll()
      • 3.has(name)
      • 4.delete(name)
      • 5.keys(),values(),entries()
    • 三、其他细节
      • 1.for of遍历
      • 2.转为对象
      • 3.结合 URLSearchParams 转为queryString

一、基本概念

FormData 提供了一种表示表单数据的 key/value 的构造方式,主要方便我们用 XMLHttpRequest 来发送数据。我们主要用它来作为上传文件的接口数据,因为结合 ‘multipart/form-data’ 请求类型,能实现与后端的流式传输。
构造函数:FormData(form?: HTMLFormElement, submitter?: (HTMLElement | null))

  • form:表单dom元素
  • submitter:提交按钮dom元素

实例化:const formdata = new FormData()

二、常用方法

1.append(name, value)、set(name, value)

append(name: string, value: string | Blob)
append(name: string, value: string | Blob)
append可以给FormData添加数据(支持字符串以及文件Blob类型数据),如果name存在则是追加一条数据。这里我们要与常规的对象数据结构区分开了,FormData的key不是唯一的,它可以存在多个相同的key。

const formData = new FormData()
formData.append('name', '张三')
formData.append('name', '李四')
formData.append('name', '王五')

注意:这里的值并不会相互覆盖,而是不断地追加到FormData中
set同样可以给formData添加数据,但是如果name存在,则会修改数据

const formData = new FormData()
formData.set('name', '张三')
formData.set('name', '李四') // 会覆盖前面的值formData.append('age', '11')
formData.set('age', '12') // 会覆盖前面的值

2.get()、getAll()

获取数据,区别就是get是获取name下的第一个值,而getAll则获取所有值

const formData = new FormData()
formData.append('age', '11')
formData.append('age', '33')
console.log(formData.get('age')); // 11
console.log(formData.getAll('age')); // ['11', '33']
formData.set('age', '12')
formData.set('age', '22')
console.log(formData.get('age')); // 22
console.log(formData.getAll('age')); // ['22']

3.has(name)

判断是否有FormData中是否包含name

const formData = new FormData()
formData.append('age', '33')
console.log(formData.has('age')); // true
console.log(formData.has('name')); // false

4.delete(name)

删除某个name属性,即使你append了多个相同的name属性,也会全部删除。

const formData = new FormData()
formData.append('age', '11')
formData.append('age', '33')
formData.delete('age') // []
console.log(formData.getAll('age'));
formData.set('name', '张三')
formData.delete('name')
console.log(formData.getAll('name')); // []

5.keys(),values(),entries()

获取FormData中的所有key、所有value和所有的[key,value]的iterator对象

  const formData = new FormData()formData.append('age', '11')formData.append('age', '33')formData.set('name', '张三')formData.set('name', '李四')const keys = formData.keys()console.log(keys);console.log([...keys]);const values = formData.values()console.log(values);console.log(...values);const entries = formData.entries()console.log(entries);console.log([...entries]);

在这里插入图片描述

我们可以看到,key是有多个的。

三、其他细节

1.for of遍历

FormData本身就是一个Iterator对象,所以我们可以直接使用for of遍历,同样也可以直接使用 …运算符展开。

  const formData = new FormData()formData.append('age', '11')formData.append('age', '33')formData.set('name', '张三')for (const item of formData) {console.log(item)}console.log([...formData]);const entries = formData.entries()console.log([...entries]);

在这里插入图片描述

事实上,FormData的iterator遍历返回的值就是formData.entries()

2.转为对象

FormData也可以快捷的转为常规对象数据,但是对象的key是唯一的,所以FormData重复的数据会丢失

  const formData = new FormData()formData.append('age', '11')formData.append('age', '33')formData.set('name', '张三')console.log(Object.fromEntries(formData.entries()));

在这里插入图片描述

3.结合 URLSearchParams 转为queryString

因为FormData本身就是为了方便前端与后端进行接口交互的,所以可以直接作为实例化 URLSearchParams的参数,然后转为queryString。
不过这种场景现实情况中用的不多,毕竟大家还是主要用FormData进行文件上传。

  const formData = new FormData()formData.append('age', '11')formData.append('age', '33')formData.set('name', '张三')console.log(new URLSearchParams(formData).toString())
http://www.yayakq.cn/news/700686/

相关文章:

  • 企业官方网站建设目的和淘宝同时做电商的网站
  • 昆山建设银行网站首页阿里指数官方网站
  • 河南广告制作公司网站tp做网站
  • 宽屏网站模板网站的设计路线
  • 中国建设人才网信息网站access数据库网站开发
  • 网站后台管理系统 asp婚纱摄影网站
  • 网站建设费放什么科目建设网站构成
  • 蚌埠网站建设哪家好山西小城故事网站建设
  • 建设银行网站怎么打印明细单页面销售信网站赚钱系统
  • 免费网站建设专业服务平台做餐饮要看的网站
  • 建设网站公司中运动鞋网页ui设计
  • wordpress安装网站源码seo推广名词解释
  • 沧州网站建设选网龙搜易网服务内容
  • 网站意义做网站的域名和空间是什么意思
  • 营销型网站多少钱wordpress支付宝扫码支付
  • 小白网站建设教程企业网站管理
  • 专业网站制作公司名称建好的网站怎么用
  • 蓝色门户网站网站建设 成都今网科技
  • 马克 扎克伯格大学做的网站搜索微信公众号平台
  • iis7架设网站教程网站能实现什么功能
  • 邢台网站制作公司哪家专业杭州红房子妇科医院
  • 网站运营一个月多少钱wordpress本地上传视频资料
  • 自己做视频网站可以吗wordpress 项目
  • 简繁网站怎么做泰国服务器租用
  • 辽宁金帝建设集团网站网站建设中gif
  • lol做任务领头像网站体育门户网站源码
  • 扬州网站建设 开元WordPress实现文章分类筛选
  • 邢台物流网站建设wordpress 漫画网站
  • 简单的php购物网站源码百度热搜风云榜
  • 深圳专业网站建设企业响应式布局网站开发