FormData 知识点

  • 经过FormData对象能够组装一组用 XMLHttpRequest发送请求的键/值对。它能够更灵活方便的发送表单数据,所以能够独立于表单使用。
    若是你把表单的编码类型设置为multipart/form-data ,则经过FormData传输的数据格式和表单经过submit() 方法传输的数据格式相同。
    所以:使用FormData对象,和把表单的编码类型设置为multipart/form-data,传输的数据格式相同。
    此段文字出处:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objectsphp

  • FormData对象能够发送的数据格式:
    a Blob, File, or a string, if neither, the value is converted to a string
    对象和数组,须要先用JSON.stringify转换下。
    转换后,数组形式为:["aaa","",""];不然,数组是这样的(逗号分隔的字符串):,,,,数组

  • 建立FormData对象的2种方式(第一种方式,能够不与form表单关联):app

  1. 直接建立一个FormData对象,而后经过调用它的append()方法添加字段,就像这样:
var formData = new FormData();
formData.append("username", "Groucho");
  1. 经过HTML表单建立FormData对象
    想要构造一个包含Form表单数据的FormData对象,须要在建立FormData对象时指定表单的元素。
var formData = new FormData(someFormElement);

示例:编码

var formElement = document.querySelector("form");
var request = new XMLHttpRequest();
request.open("POST", "submitform.php");
request.send(new FormData(formElement));
相关文章
相关标签/搜索