如何获取 FormData 中的多个复选框值?

Sas*_*lla 11 html javascript jquery form-data

我的 html 表单有多个具有相同name属性的复选框:

<form id='cheese-selector'>
  <input type="checkbox" name="cheese" id="limburger" value="Limburger">Limburger</input>
  <input type="checkbox" name="cheese" id="camembert" value="Camembert">Camembert</input>
  <input type="checkbox" name="cheese" id="roquefort" value="Roquefort">Roquefort</input>
  <input type="submit" id="pick-cheese">Pick My Cheese!</input>
</form>
Run Code Online (Sandbox Code Playgroud)

我是通过ajax提交的。当我创建一个FormData对象时,即使我检查了多个复选框,也仅包含第一个选定的复选框:

$('#limburger').click()
$('#camembert').click()
console.log(FormData(this).get('cheese'))
// 'Limburger'
Run Code Online (Sandbox Code Playgroud)

如何将FormData所有检查的值编码为数组?

Que*_*tin 12

参见MDN

FormData 接口的 get() 方法返回与 FormData 对象内给定键关联的第一个值。如果您期望多个值并需要所有值,请改用 getAll() 方法。