Javascript Ajax总结——FormData类型

XMLHttpRequest1级只是把已有的XHR对象的实现细节描述出来。XMLHttpRequest2级进一步发展了XHR。
FormData类型
FormData类型,为序列化表单以及建立以表单格式相同的数据提供了便利。
建立FormData对象,添加一些数据:
var data = new FormData();
// 2个参数:建和值,对应表单字段的名字和字段包含的值
data.append("name", "Anna");
//传输input上传的文件
data.append("myFile", document.getElementById("inputFile").files[0]);

向FormData传入表单元素能够预先向其中填入键值对:
var data = new FormData(document.forms[0]);
//传给XHR的send()方法
xhr.open("post", "test.php", true);
xhr.send(data);
使用FormData没必要明确地在XHR对象上设置请求头部。XHR对象可以识别传入的数据类型是FormData的实例,而后配置适当的头部信息。

overrideMimeType()方法
Firefox最先引入overrideMimeType()方法,用于重写XHR响应的MIME类型。
返回响应的MIME类型决定了XHR对象如何处理它。
如,服务器返回的MIME类型是text/plain,但数据中实际包含的是XML。根据MIME类型,即便数据是XML,responseXML属性仍然是null。调用overrideMimeType()方法,能够保证把响应看成XML而非纯文本处理。
var xhr = createXHR();
xhr.open("get", "text.php", true);
xhr.overrideMimeType("text/xml");
xhr.send(null);
支持overrideMimeType()方法的浏览器:Firefox、Safari4+、Opera10.5和Chrome。
相关文章
相关标签/搜索