XMLHttpRequest2级 FormData

鉴于XHR已经得到广泛接受,成为事实标准,W3C也制定了相关标准。
1级只是把已有XHR对象描述出来。而2级则发展了XHR,并不是所有浏览器都完整实现了2级规范,但所有浏览器都实现了他部分内容。
FormData
现代Web应用中使用一箱功能就是表单序列化,XHR2为此定义了FormData类型。FormData为序列化表单以及创建与表单格式相同的数据(用于通过XHR传输)提供了便利。下面的代码创建了一个FormData对象,并像其添加了一些数据。
var data=new FormData();
data.append("name","Nicholas");
这个append()方法接受两个参数:键和值,分别对应表单字段的名称和字段中包含的值。可以像这样添加任意多个键值对。而通过向FormData构造函数中传入表单元素,也可以用表单元素的数据预先向其中像其填入键值对:
var data = new FormData(document.forms[0]);
创建了这个实例后,直接将他传入XHR的send()方法。
xhr.open("post","postexample.php",true);
var form=document.getElementById("user-info");
xhr.send(new FormData(form));
使用FormData好处体现在不必明确在XHR对象上设置请求头部。XHR对象能够识别传入数据类型是FormData的实例,并配置适当头部信息。

你可能感兴趣的:(XMLHttpRequest2级 FormData)