前端 之 FormData对象浅谈

一、简介

​ 通常情况下,前端在使用post请求提交数据的时候,请求都是采用application/jsonapplication/x-www-form-urlencoded编码类型,分别是借助JSON字符串来传递参数或者key=value格式字符串(多参数通过&进行连接)来传递参数,确实足以覆盖大多数业务场景。但是在文件上传等特殊业务场景下,这两种编码类型就有些捉襟见肘了,例如选择JSON字符串传递参数,在使用JSON.stringify()格式化参数数据时,会将FileBlob对象转化成{},文件数据会丢失。所以此时我们就需要使用第三种编码类型multipart/form-data,使用FormData对象来传递参数。

FormData 提供了一种以 key/value键值对集合表示表单数据的数据构造方式,通过该方式我们可以将fileblob等不易传输的数据通过 ajax 请求轻松的发送到服务器端。

​ 当使用FormData 对象作为参数时,无需手动设置请求的编码类型,浏览器会自动将请求的编码类型Content-type设置为multipart/form-data

浏览器兼容性:

在这里插入图片描述

二、相关方法

1、FormData()

FormData([form]) 方法是FormData 对象的构造函数,用来创建一个新的FormData 对象。

// 创建空的 FormData 对象
const formData = new FormData()

​ 该方法拥有一个可选参数form,值为页面HTML中的一个<form>表单元素,当设置该参数时,创建的FormData对象将自动的将form表单中的值包含进去,包括file文件内容也会被编码之后包含进去。但是要注意给表单中所有的输入元素(<input><textarea>)设置name属性,否则无法被FormData对象包含,输入元素的name属性将会成为FormData对象中数据键值对的key,输入元素的值将会成为对应的value

<!-- form表单元素 -->	
<form action="#" id="form1">
    <div>
      <label for="name">姓名:</label>
      <input type="text" id="name" name="name">
    </div>
    <div>
      <label for="age">年龄:</label>
      <input type="text" id="age" name="age">
    </div>
    <div>
      <label for="sex">性别:</label>
      <!-- 未设置name属性不会被 formData 包含 -->
      <input type="text" id="sex">
    </div>
  </form>
  <br />
  <button onclick="logFormData()">输出formData对象</button>

<script>
// 输出 FormData 对象的数据
function logFormData () {
	// 获取表单元素
	const form = document.getElementById('form1')
	// 创建带有预置数据的 FormData 对象
  const formData = new FormData(form)
  // 输出formData对象中的所有键值对
  for (var pair of formData.entries()) {
    console.log(pair[0] + '----' + pair[1]);
  }
}
</script>
执行结果:

在这里插入图片描述

2、FormData.append()

FormData.append(name,value,[filename]) 方法用于向FormData 对象中添加一个新的值,该方法拥有两个必选参数namevalue,以及一个可选参数filenamename对应FormData 对象中键值对数据的keyvalue对应键值对数据的值。如果name这个keyFormData中已经存在,则会将新值value添加到原有值集合的后面,先添加的值在前面,后添加的值在后面,多个值同时以集合的形式存在;如果name这个key在FormData中不存在,则会新增这个key,并赋予对应的值value

// 创建空的 FormData 对象
const formData = new FormData()
// 添加一个键值对 此时并不存在对应的key 会新增这个key
formData.append('name', '张三')
// 给同一个key 再次添加值
formData.append('name', '李四')
// 输出这个key对应的所有value值
console.log("formData.getAll('name')----", formData.getAll('name'));
执行结果:

在这里插入图片描述

​ 可选参数filename是当第二个参数valueBlobfile文件数据时,设置传给服务器端的文件名称。如果不设置该参数,则Blob类型默认文件名为blobfile类型的默认文件名为文件本身的名称。

// 创建空的 FormData 对象
const formData = new FormData()
// 添加一个file键值对数据 取默认文件名称
formData.append('file', file)
// 添加一个file键值对数据 并设置文件名称
formData.append('file', file, 'test.png')
// 输出这个key对应的所有value值
console.log("formData.getAll('file')----", formData.getAll('file'));
执行结果2:

在这里插入图片描述

3、FormData.set()

FormData.set(name,value,[filename]) 方法与FormData.append()方法类似,都是用于向FormData 对象中添加一个新的值,如果name这个key在FormData中不存在,则会新增这个key,并赋予对应的值value;但是如果name这个key在FormData中已经存在,那么该方法会直接覆盖掉原来的value,无论原有值集合有几个数据,全都被覆盖。

​ 其余用法与FormData.append()方法相同。

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对 此时并不存在对应的key 会新增这个key
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', '李四')
// 输出这个key对应的所有value值
console.log("append()两次数据后----", formData.getAll('name'));
// 使用set()给同一个key 设置值 会覆盖之前的值
formData.set('name', '王五')
// 输出这个key对应的所有value值
console.log("set()一次数据后----", formData.getAll('name'));
执行结果:

在这里插入图片描述

4、FormData.delete()

FormData.delete(name) 方法用于从FormData对象中删除name这个key及其对应的所有value

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对 此时并不存在对应的key 会新增这个key
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', '李四')
// 输出这个key对应的所有value值
console.log("append()两次数据后----", formData.getAll('name'));
// 使用delete()删除一个key及其所有的value
formData.delete('name')
// 再次输出这个key
console.log("delete()删除一次后----", formData.getAll('name'));
执行结果:

在这里插入图片描述

5、FormData.entries()

FormData.entries() 方法用于获取一个由FormData对象中所有键值对组成的iterator(迭代器)对象,然后通过该对象可以遍历访问所有的键值对数据。

​ 该方法获取的iterator(迭代器)对象,需要通过for...of..的形式来进行遍历,每个遍历元素都是数组类型,数组中有两个元素,第一个为key,另一个为value。如果FormData对象中的某个key有多个value,则该key会被遍历多次,每次只对应一个value

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', '李四')
// 使用append()添加另外一个键值对
formData.append('sex', '男')
// 获取迭代器对象
const entries = formData.entries()
// 输出迭代器对象
console.log('entries-----', entries);
// 遍历迭代器对象
for (var pair of entries) {
  // 输出遍历元素
	console.log('pair---', pair);
  // 输出元素的key和value
	console.log(pair[0] + '----' + pair[1]);
}
执行结果:

在这里插入图片描述

​ 除了该方法外,我们还可以通过for...of..形式直接遍历FormData对象,其作用与结果与该方法完全相同

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', '李四')
// 使用append()添加另外一个键值对
formData.append('sex', '男')
// 遍历formData对象
for (var pair of formData) {
	console.log('当前遍历元素---', pair);
	console.log(pair[0] + '----' + pair[1]);
}
执行结果2:

在这里插入图片描述

6、FormData.keys()

FormData.keys() 方法用于获取一个由FormData对象中所有键值对中的key组成的iterator(迭代器)对象,然后通过该对象可以遍历访问所有的key,类型为String。与entries()方法相同的是:如果FormData对象中的某个key有多个value,则该key会被遍历多次,每次对应一个value

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', '李四')
// 使用append()添加另外一个键值对
formData.append('sex', '男')
// 获取key组成的迭代器对象
const keys = formData.keys()
// 输出迭代器对象
console.log('keys-----', keys);
// 遍历迭代器对象
for (var key of keys) {
	console.log('key---', key);
}
执行结果:

在这里插入图片描述

7、FormData.values()

FormData.values() 方法用于获取一个由FormData对象中所有键值对中的value组成的iterator(迭代器)对象,然后通过该对象可以遍历访问所有的value,类型为StringFileBlob。如果FormData对象中的某个key有多个value,则每个value都会遍历一次。

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', 333444)
// 使用append()添加另外一个键值对
formData.append('sex', '男')
// 获取value组成的迭代器对象
const values = formData.values()
// 输出迭代器对象
console.log('values-----', values);
// 遍历迭代器对象
for (var value of values) {
	console.log('value---', value);
}
执行结果:

在这里插入图片描述

8、FormData.has()

FormData.has() 该方法用于判断FormData 对象中是否含有某个key,返回值为一个布尔值。

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对
formData.append('name', '张三')
// 使用append()添加另外一个键值对
formData.append('sex', '男')
// 使用has()判断是否存在某个key
console.log('has()判断是否存在name---', formData.has('name'));
// 使用delete()删除一个key及其所有的value
formData.delete('sex')
// 使用has()判断一个已经被删除的key
console.log('has()判断被delete()删除的sex---', formData.has('sex'));
// 使用has()判断一个不存在的key
console.log('has()判断不存在的age---', formData.has('age'));
执行结果:

在这里插入图片描述

9、FormData.get()

FormData.get(name) 方法用于获取FormData 对象中name这个key所对应的value集合里的第一个valuevalue集合中值的顺序,按照添加的顺序进行排序。

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', 333)
// 使用append()添加另外一个键值对
formData.append('sex', '男')
// 使用get()获取name对应的第一个value
console.log('get()获取name对应的第一个value---', formData.get('name'));
// 使用get()获取sex对应的第一个value
console.log('get()获取sex对应的第一个value---', formData.get('sex'));
执行结果:

在这里插入图片描述

10、FormData.getAll()

FormData.getAll() 方法用于获取FormData 对象中name这个key所对应的value集合,value集合中值的顺序,按照添加的顺序进行排序。

// 创建空的 FormData 对象
const formData = new FormData()
// 使用append()添加一个键值对
formData.append('name', '张三')
// 使用append()给同一个key 再次添加值
formData.append('name', 333)
// 使用append()添加另外一个键值对
formData.append('sex', '男')
// 使用getAll()获取name对应的value集合
console.log('getAll()获取name对应的value集合---', formData.getAll('name'));
// 使用getAll()获取sex对应的value集合
console.log('getAll()获取sex对应的value集合---', formData.getAll('sex'));
执行结果:

在这里插入图片描述

三、相关资料

FormData

form

FormData对象进阶

  • 10
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
formData.append是一个JavaScript方法,用于将数据添加到FormData对象中。它可以用于向服务器发送POST请求并上传文件。 以下是使用formData.append的示例代码: ```javascript const formData = new FormData(); // 添加一个键值对 formData.append('username', 'John'); // 添加一个文件 const fileInput = document.querySelector('input[type="file"]'); formData.append('avatar', fileInput.files[0]); // 发送请求 fetch('/api/user', { method: 'POST', body: formData }) .then(response => { console.log(response); }) .catch(error => { console.error(error); }); ``` 在这个示例中,我们首先创建了一个FormData对象。然后,我们使用formData.append方法将一个键值对和一个文件添加到对象中。最后,我们使用fetch函数发送POST请求并将FormData对象作为请求体。 希望这个简单的示例能够帮助您理解formData.append的用法。formData.append() 是用于将数据添加到 FormData 对象中的 JavaScript 方法。以下是使用 formData.append() 方法的语法和示例: 语法: ```javascript formData.append(name, value); ``` 示例: ```javascript let formData = new FormData(); formData.append('username', 'john'); formData.append('email', '[email protected]'); formData.append('profile_picture', fileInput.files[0]); ``` 在示例中,我们首先创建了一个 FormData 对象 formData,然后使用 formData.append() 方法将数据添加到 formData 对象中。此方法需要两个参数:name 和 value。name 参数表示要添加的数据的名称,value 参数表示要添加的数据的值。您可以将字符串、文件或 Blob 对象添加到 FormData 对象中。 在示例中,我们向 formData 对象添加了三个数据项。第一个数据项的名称为 "username",值为 "john"。第二个数据项的名称为 "email",值为 "[email protected]"。第三个数据项的名称为 "profile_picture",值为从文件输入框中选择的文件。formData.append()是一个JavaScript的方法,用于将数据添加到FormData对象中。其语法如下: formData.append(name, value); 其中,name是要添加的数据的名称,value是要添加的数据的值。 例如,如果要向FormData对象中添加一个名为“username”的字符串数据,可以使用以下代码: formData.append('username', '张三'); 如果要向FormData对象中添加一个名为“avatar”的文件数据,可以使用以下代码: formData.append('avatar', file); 其中,file是一个File对象,可以通过input[type=file]元素的files属性获取。 很高兴来回答你的问题,formdata.append 是一个 JavaScript 对象,用于在 Web 表单中添加新的表单数据。它可以接受三个参数,分别是键名、值和文件名,它可以用来添加字符串、文件或二进制值。例如:formData.append('name', 'John');formData.append() 是一个 JavaScript 的方法,用于将数据添加到 FormData 对象中。这个方法接受两个参数,第一个参数是要添加的数据的名称,第二个参数是实际的数据。 下面是一个示例: ``` var formData = new FormData(); formData.append('username', 'John'); formData.append('email', '[email protected]'); ``` 上面的代码将创建一个新的 FormData 对象,并向其中添加了两个数据项,一个是名为“username”的数据项,其值为“John”,另一个是名为“email”的数据项,其值为“[email protected]”。您可以根据需要添加任意数量的数据项。formdata.append()是一种JavaScript方法,用于将数据添加到表单数据对象中。以下是使用方法的示例: 1. 创建FormData对象: ``` var formdata = new FormData(); ``` 2. 添加数据到FormData对象中: ``` formdata.append('name', 'John'); formdata.append('email', '[email protected]'); ``` 其中,第一个参数是数据的名称,第二个参数是数据的值。 3. 将FormData对象发送到服务器: ``` var xhr = new XMLHttpRequest(); xhr.open('POST', '/server'); xhr.send(formdata); ``` 这里,我们使用XMLHttpRequest对象FormData对象发送到服务器。在实际应用中,你需要将URL替换成你自己的服务器地址。formData.append是一种JavaScript方法,可用于向FormData对象添加键/值对。使用formData.append,您可以构建一个包含表单数据的对象,这些数据可以通过AJAX请求发送到服务器。 要使用formData.append方法,请按照以下步骤操作: 1. 创建一个FormData对象:使用new FormData()创建一个FormData对象。 2. 使用append方法添加键/值对:使用formData.append方法,将表单控件的名称和值添加到FormData对象中。例如,formData.append("username", "john")将向FormData对象添加一个键/值对,键为"username",值为"john"。 3. 可选:使用append方法添加文件:如果您的表单中包含文件上传控件,您可以使用formData.append方法将文件添加到FormData对象中。例如,formData.append("avatar", fileInput.files[0])将向FormData对象添加一个名为"avatar"的键,值为用户选择的文件。 以下是一个示例代码片段,演示如何使用formData.append方法构建FormData对象: ``` // 创建一个FormData对象 const formData = new FormData(); // 添加键/值对 formData.append("username", "john"); formData.append("password", "s3cr3t"); // 添加文件 const fileInput = document.querySelector('input[type="file"]'); formData.append("avatar", fileInput.files[0]); ``` 这将创建一个包含用户名、密码和用户上传的头像文件的FormData对象,您可以使用AJAX请求将其发送到服务器。`FormData.append()` 是用于在 FormData 对象中添加数据的方法。它的语法如下: ``` formData.append(name, value); ``` 其中,`name` 参数是你想要添加的数据的名称,`value` 参数是你想要添加的数据的值。你可以多次调用 `append()` 方法来添加多个数据,它们会依次排列在 FormData 对象中。 除了传递字符串值之外,`FormData.append()` 还支持传递 File 对象和 Blob 对象。这使得我们可以将文件和二进制数据添加到 FormData 对象中,以便在 HTTP 请求中上传它们。 例如,以下代码演示了如何使用 `FormData.append()` 将表单数据添加到 FormData 对象中: ```javascript const formData = new FormData(); formData.append('name', '张三'); formData.append('email', '[email protected]'); formData.append('avatar', fileInput.files[0]); const request = new XMLHttpRequest(); request.open('POST', '/api/user'); request.send(formData); ``` 在这个例子中,我们创建了一个 FormData 对象,并向它添加了三个数据项:`name`、`email` 和一个名为 `avatar` 的文件。然后,我们通过 AJAX 发送了一个 POST 请求,将 FormData 对象作为请求体发送到服务器。 formdata.append可以用来向一个表单对象添加一个新的键值对,语法如下:formdata.append(name, value),其中name参数是字符串,value参数可以是字符串或Blob对象FormData是一种用于创建HTML表单数据的API,可以使用它来以编程方式构建表单数据并将其发送到服务器。通过JavaScript中的FormData对象,可以使用append()方法向表单添加一个键值对。 使用语法如下: ``` formData.append(name, value); ``` 其中,name是表单字段的名称,value是表单字段的值。例如,以下代码将使用FormData对象将文件上传到服务器: ``` var formData = new FormData(); formData.append('file', fileInput.files[0]); ``` 在上面的代码中,'file'是表单字段的名称,fileInput.files[0]是表单字段的值,表示用户在文件选择框中选择的文件。可以将其他表单字段的值添加到FormData对象中,然后使用XMLHttpRequest对象将其发送到服务器。 Formdata.append 是一个用于向表单添加数据的 JavaScript 对象方法。它可以用来将元素添加到表单,以便在提交表单时将数据发送到服务器。 下面是一个示例,可以帮助您更好地理解formdata.append的用法: // 创建一个FormData对象 var formData = new FormData(); // append() 方法用于添加数据 formData.append('name', 'John'); formData.append('age', 20); formData.append('file', fileInputElement.files[0]); // 使用XMLHttpRequest发送表单数据 var xhr = new XMLHttpRequest(); xhr.open('POST', '/submitForm'); xhr.send(formData);在JavaScript中使用FormData对象的append()方法来向表单数据中添加数据。 使用语法如下: ``` formData.append(name, value); ``` 其中,name是表单项的名称,value是表单项的值。你可以将这个方法调用放在一个循环中,来一次性地向FormData对象中添加多个表单项的值。 例如,以下是向FormData对象中添加多个表单项值的示例代码: ``` var formData = new FormData(); formData.append('username', 'john_doe'); formData.append('email', '[email protected]'); // 使用循环添加多个表单项 var hobbies = ['reading', 'traveling', 'hiking']; for (var i = 0; i < hobbies.length; i++) { formData.append('hobbies[]', hobbies[i]); } ``` 在上面的代码中,我们创建了一个名为formDataFormData对象,并向其中添加了三个表单项的值:username、email和hobbies。其中,hobbies的值是一个包含三个字符串元素的数组。我们使用循环将这三个字符串依次添加到FormData对象中。 希望这个回答对你有所帮助!formData.append是一种在JavaScript中向FormData对象添加数据的方法。可以使用以下语法向其添加数据: ``` formData.append(name, value); ``` 其中,name参数是表示数据的名称,value参数是数据本身。您可以多次调用formData.append方法,将多个数据添加到FormData对象中。例如: ``` var formData = new FormData(); formData.append('username', 'John'); formData.append('email', '[email protected]'); ``` 在这个例子中,我们创建了一个FormData对象,并向其添加了两个数据:一个名为“username”的数据,值为“John”,另一个名为“email”的数据,值为“[email protected]”。FormData.append()是用于将数据添加到FormData对象中的JavaScript方法。它的语法如下: ```javascript formData.append(name, value); ``` 其中,name是要添加的数据的名称,value是要添加的数据的值。 例如,如果您要将用户名和密码添加到FormData对象中,可以使用以下代码: ```javascript var formData = new FormData(); formData.append('username', 'john'); formData.append('password', '1234'); ``` 这将创建一个名为formDataFormData对象,并向其中添加两个数据项:用户名为'john',密码为'1234'。`FormData.append()`是一种用于向`FormData`对象添加新字段的方法。在JavaScript中,您可以使用以下代码来使用`FormData.append()`方法: ```javascript const formData = new FormData(); formData.append('字段名称', '字段值'); ``` 第一个参数是要添加的字段的名称,第二个参数是该字段的值。您可以多次调用`append()`方法来向`FormData`对象添加多个字段。例如: ```javascript formData.append('name', 'John'); formData.append('email', '[email protected]'); formData.append('message', 'Hello, World!'); ``` 以上代码将向`FormData`对象添加三个字段,分别是'name','email'和'message'。每个字段都有自己的名称和值。formData.append() 是 JavaScript 中用于将数据添加到 FormData 对象中的方法。以下是它的语法: ``` formData.append(name, value); ``` 其中,name 参数是要添加到 FormData 对象中的数据字段的名称,value 参数是要添加的数据的值。 如果要添加多个键值对,可以连续调用 formData.append() 方法: ``` formData.append(name1, value1); formData.append(name2, value2); // ... ``` 这个方法通常用于在发送 AJAX 请求时,将表单数据添加到 FormData 对象中,以便于传递给服务器。`formdata.append` 是用于向 FormData 对象中添加键值对数据的方法。 具体用法如下: 1. 首先创建一个 FormData 对象,可以使用以下代码创建: ```javascript var formData = new FormData(); ``` 2. 然后使用 `append` 方法向 FormData 对象中添加数据。`append` 方法接受两个参数,第一个参数是要添加的键名,第二个参数是要添加的值。 例如,添加一个名为 `username`,值为 `John` 的键值对可以这样写: ```javascript formData.append('username', 'John'); ``` 3. 如果要添加多个键值对,可以多次调用 `append` 方法。例如,添加一个名为 `password`,值为 `123456` 的键值对可以这样写: ```javascript formData.append('password', '123456'); ``` 4. 最后,将 FormData 对象作为请求体发送到服务器。可以使用 XMLHttpRequest 或 fetch API 发送请求。 ```javascript fetch('/api/submit', { method: 'POST', body: formData }) ```formData.append() 是一个 JavaScript 方法,用于向 FormData 对象添加数据。 它的语法如下: ``` formData.append(name, value); ``` 其中,name 参数是表单字段的名称,value 参数是字段的值。 使用示例: ```javascript var formData = new FormData(); formData.append('username', '张三'); formData.append('age', 20); console.log(formData.get('username')); // 输出:张三 console.log(formData.get('age')); // 输出:20 ``` 这个例子中,我们创建了一个 FormData 对象,并向其中添加了两个字段:username 和 age。最后通过 get() 方法获取了这两个字段的值。`FormData.append()` 是一种在JavaScript中用于创建表单数据的方法。它将一个键值对添加到FormData对象中。可以使用如下代码将数据添加到FormData对象: ```javascript var formData = new FormData(); formData.append('key', 'value'); ``` 其中,'key'是FormData对象中的键,'value'是它对应的值。您可以多次调用`append()`方法以向对象添加多个键值对。例如: ```javascript formData.append('name', 'John'); formData.append('email', '[email protected]'); ``` 这样,FormData对象将包含两个键值对,一个是'name':'John',另一个是'email':'[email protected]'。 当使用Ajax发送FormData对象时,它会自动将数据编码为multipart/form-data格式,并将其发送到服务器。这使得可以使用Ajax上传文件等二进制数据。例如: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', '/upload', true); xhr.onload = function() { // 处理响应数据 }; xhr.send(formData); ```FormData.append() 是 JavaScriptFormData 对象提供的一个方法,用于向表单数据对象中添加一个新的键值对。下面是使用 FormData.append() 方法的基本语法: ``` formData.append(name, value); ``` 其中,name 参数表示要添加的键的名称,value 参数表示要添加的值。你也可以使用可选的第三个参数,它表示要添加的文件名称。 以下是一个例子,展示如何使用 FormData.append() 方法向表单数据对象中添加一个键值对: ``` var formData = new FormData(); formData.append('username', 'JohnDoe'); ``` 在这个例子中,我们向表单数据对象中添加了一个名为 'username' 的键,其对应的值为 'JohnDoe'。你可以使用类似的方式添加更多的键值对,或者使用可选的第三个参数添加文件。formData.append()是JavaScript中的一个方法,用于将键值对数据添加到FormData对象中,以便将其发送给服务器。它的语法如下: formData.append(name, value); 其中,name是要添加的键的名称,value是键对应的值。您可以多次调用该方法,以便将多个键值对添加到FormData对象中。 例如,以下代码将创建一个FormData对象,然后向其中添加三个键值对数据: ``` var formData = new FormData(); formData.append('username', 'John'); formData.append('email', '[email protected]'); formData.append('avatar', fileInput.files[0]); ``` 在这个例子中,'username'和'email'是普通的键值对数据,而'avatar'是一个文件,它是从一个文件选择输入框中获取的。formData.append() 是一种在 JavaScript 中向 FormData 对象添加数据的方法。它接受两个参数:键和值,可以使用该方法将表单数据添加到 FormData 对象中。 以下是使用 formData.append() 方法的示例: ``` const formData = new FormData(); formData.append('username', 'John'); formData.append('email', '[email protected]'); formData.append('avatar', fileInput.files[0]); ``` 在这个例子中,我们创建了一个 FormData 对象并添加了三个数据:username、email 和 avatar。其中 avatar 是从文件输入框中获取的文件。 通过这种方式添加的数据可以使用 XMLHttpRequest 对象或 Fetch API 发送到服务器,以处理表单数据。`FormData.append()` 是用于将键值对添加到 `FormData` 对象的方法。 下面是 `FormData.append()` 的语法: ```javascript formData.append(name, value); ``` 其中,`name` 是要添加的键的名称,`value` 是键的值。您可以多次调用 `append()` 方法,以添加多个键值对。 以下是一个示例: ```javascript const formData = new FormData(); formData.append('username', 'john'); formData.append('email', '[email protected]'); formData.append('avatar', avatarFile); ``` 在上面的示例中,我们首先创建了一个新的 `FormData` 对象。然后,我们使用 `append()` 方法将三个键值对添加到对象中。第一个键名为 `username`,键值为 `'john'`。第二个键名为 `email`,键值为 `'[email protected]'`。第三个键名为 `avatar`,键值为 `avatarFile`。其中,`avatarFile` 是一个代表文件的 `File` 对象formdata.append是一个 JavaScript 方法,用于将键值对添加到FormData对象中。 它的语法是: ``` formdata.append(name, value); ``` 其中,name是要添加的键名,value是键名对应的值。例如,如果要将一个名为“username”的输入框的值添加到FormData中,可以这样写: ``` var formdata = new FormData(); var username = document.querySelector('input[name="username"]').value; formdata.append('username', username); ``` 这样就将输入框中的值添加到了FormData中,键名为“username”。如果有多个键值对需要添加,可以多次调用append方法,每次传入不同的键名和值。formData.append() 是 JavaScript 中用来创建 FormData 对象并向其中添加键值对的方法。 语法如下: ```javascript formData.append(name, value); ``` 其中,name 表示键名,value 表示键值。 使用示例: ```javascript // 创建一个 FormData 对象 const formData = new FormData(); // 向其中添加一个键值对 formData.append('username', '张三'); // 向其中添加一个文件 const fileInput = document.querySelector('input[type="file"]'); formData.append('avatar', fileInput.files[0]); ``` 这样就创建了一个包含键为 'username' 和 'avatar' 的 FormData 对象,并向其中添加了对应的键值对。FormData.append() 是一个用于向 FormData 对象添加键值对数据的方法,它的语法如下: ``` formData.append(name, value); ``` 其中,name 表示要添加的键名,value 表示要添加的键值。 在使用该方法时,可以通过多次调用来向 FormData 对象添加多个键值对数据,例如: ``` let formData = new FormData(); formData.append('username', '张三'); formData.append('password', '123456'); formData.append('avatar', fileInputElement.files[0]); ``` 在上述代码中,我们创建了一个 FormData 对象,并通过三次调用 append() 方法向其添加了三个键值对数据,分别是用户名、密码和用户头像文件。 需要注意的是,通过 append() 方法添加的键值对数据,在发送请求时会自动以 multipart/form-data 格式进行编码,从而适用于上传文件等场景。在编写网络应用程序时,我们经常需要将表单数据发送到服务器。为此,我们可以使用JavaScript中的FormData对象。该对象允许我们轻松地将表单数据编码为键/值对,并将其发送到服务器。 使用FormData对象,我们可以通过调用其append()方法来添加表单字段和值。该方法接受两个参数:第一个参数是字段名称,第二个参数是字段的值。例如,以下代码将添加一个名为"username"的字段和其值: ``` var formData = new FormData(); formData.append('username', 'JohnDoe'); ``` 我们还可以使用append()方法添加文件。例如,以下代码将添加名为"avatar"的文件: ``` var formData = new FormData(); var fileInput = document.getElementById('avatar'); formData.append('avatar', fileInput.files[0]); ``` 在以上代码中,我们首先获取了一个包含文件的input元素,然后通过调用append()方法将文件添加到FormData对象中。 最后,我们可以使用XMLHttpRequest对象FormData对象发送到服务器。例如,以下代码将使用POST方法将FormData对象发送到服务器: ``` var xhr = new XMLHttpRequest(); xhr.open('POST', '/submit-form'); xhr.send(formData); ``` 以上是FormData对象的基本使用方法,希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小朱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值