JS FormData对象使用方法实例详解

JS FormData对象使用方法实例详解

什么是FormData对象

  • FormData对象是JavaScript提供的一种数据处理对象,主要用来实现表单数据的序列化操作、数据的自动编码以及数据传输等功能。

FormData对象常用方法

  • FormData对象常用的方法有以下几种:

  • append(name, value[, filename]): 在一个form data中增加一个包含name/value键值对的数据。

  • delete(name): 删掉一个键值对;如果有多个相同的name,全部删掉。

  • get(name): 获取一个name所对应的一组键值对;如果没有这样的键值对则返回null。

  • getAll(name): 获取一个name所对应的全部键值对。

  • has(name): 如果有至少一个name所对应的键值对或者 filename 所对应的值存在则返回true, 否则返回false

  • set(name, value[, filename]): 设置一个某个name所对应的value值或者增加一个包含name/value的键值对的数据。

FormData对象简单示例

接下来通过两个示例来讲解FormData对象的使用方法。

1. 表单上传图片

<!--HTML结构-->
<form>
  <input type="file" id="file">
  <button onclick="submitForm()">提交表单</button>
</form>
//JS 代码
function submitForm() {
  let formData = new FormData();
  formData.append('file', document.querySelector('#file').files[0]);

  fetch('/upload', {
    method: 'POST',
    body: formData
  }).then(response => response.json())
   .then(result => {
     console.log(result);
   });
}

2. 添加表单数据与json对象数据

// JS代码
const form = new FormData();
form.append('name', 'yyang');
form.append('age', 20);

fetch('/submit', {
  method: 'POST',
  body: form,
}).then(response => response.json())
  .then(result => {
     console.log(result);
  });


const userData = {
  name: 'yyang',
  age: 20
};

fetch('/submit', {
  method: 'POST',
  body: JSON.stringify(userData),
  headers: {
    'Content-Type': 'application/json'
  }
}).then(response => response.json())
  .then(result => {
    console.log(result);
  });

上面这个例子展示了如何把表单数据和JSON数据都加入到FormData里面,实现了数据的同时传输。

总结

通过本文的讲解,我们可以了解到FormData对象是一种非常有用的JavaScript数据处理对象,可以方便地实现数据的序列化操作、数据的自动编码以及数据传输等功能。同时,通过上面的示例,我们也可以看到FormData对象在表单上传和同时传输表单数据和JSON对象数据方面的优秀表现。

大家在进行FormData对象的使用时,需要熟记相关的方法,并且注意数据格式的转换。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS FormData对象使用方法实例详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • vue3获取当前路由地址的两种方法

    下面是具体的攻略: Vue3获取当前路由地址的两种方法 在Vue3中,我们可以使用两种方法来获取当前路由地址,分别是使用$route对象和使用useRoute函数。下面我们将介绍这两种方法,以及如何使用它们来获取当前路由地址。 使用$route对象获取当前路由地址 在Vue3中,我们可以使用$route对象来获取当前路由地址。$route对象是Vue Rou…

    JavaScript 2023年6月11日
    00
  • layui-laydate时间日历控件使用方法详解

    以下是关于“layui-laydate时间日历控件使用方法详解”的完整攻略: layui-laydate时间日历控件使用方法详解 简介 layui-laydate是layui前端框架中的一种日期时间选择控件,它具有丰富的功能,例如选择日期时间范围、自定义格式、快速选择等,还支持各种主题风格样式。 安装 在使用layui-laydate之前,需要先引入layu…

    JavaScript 2023年6月10日
    00
  • ajax请求json数据案例详解

    我们来详细讲解“ajax请求json数据案例详解”的完整攻略。 1. 什么是 AJAX? AJAX 是一种异步表现模式,即浏览器无需刷新整个页面,利用 XMLHTTPREQUEST 对象向服务器异步请求数据,然后通过 JavaScript 动态改变网页,异步更新网页部分内容。 2. AJAX 请求 JSON 数据 JSON 是一种轻量级的数据传输格式,常用于…

    JavaScript 2023年5月27日
    00
  • JS常用正则表达式及验证时间的正则表达式

    JS常用正则表达式及验证时间的正则表达式 一、常用正则表达式 1. 邮箱验证正则表达式 /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/ 该正则表达式验证邮箱是否合法,以多段分别用@和.连接。 [a-zA-Z0-9_-]+表示特殊字符_-、数字、大小写字母可以重复出现一次或多次。 (\.[a-zA-Z0…

    JavaScript 2023年6月10日
    00
  • 基于Android中实现定时器的3种解决方法

    下面就是基于Android中实现定时器的3种解决方法的完整攻略。 1. 使用Java中的Timer和TimerTask 在Android中,可以使用Java中的Timer和TimerTask来实现定时器的功能。 具体步骤如下: 创建一个Timer对象。 创建一个TimerTask子类,并实现其中的run方法。在run方法中可以编写定时器需要执行的代码。 调用…

    JavaScript 2023年6月11日
    00
  • javascript 进阶篇1 正则表达式,cookie管理,userData

    JavaScript 进阶篇1:正则表达式、Cookie 管理、UserData 1. 正则表达式 正则表达式在 JavaScript 开发中非常重要,是处理字符串的得力工具。以下是一些基本概念和正则表达式在 JavaScript 中的应用。 基本概念 匹配模式:正则表达式在搜索时所用的模式 字符串搜索:在文本中搜索匹配模式并返回匹配结果 模式修饰符:使用标…

    JavaScript 2023年6月11日
    00
  • javascript 流畅动画实现原理

    JavaScript 实现流畅动画的原理是通过不断地更新元素的位置或样式来实现视觉上的连续性,使元素看起来像是在不断地移动或变化。 常见的实现流畅动画的方式是通过 setInterval 或 requestAnimationFrame 不断地调用函数,来更新元素的位置或样式。在函数中,可以通过改变元素的 CSS 属性,来实现实时更新元素的效果。 其中,使用 …

    JavaScript 2023年6月10日
    00
  • javascript作用域和闭包使用详解

    JavaScript作用域和闭包使用详解 什么是作用域 作用域是指变量的可访问范围。在JavaScript中,变量的作用域主要有两种,全局作用域和局部作用域。 全局作用域中定义的变量可以被任何代码访问,而局部作用域中定义的变量只能在其所在的代码块(比如函数,循环等)中访问。 在JavaScript中,作用域链是沿着嵌套的代码块向上查询变量定义的一条链。如果当…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部