【转载】FormData对象
XMLHttpRequest Level 2添加了一个新的接口FormData
.利用FormData
对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,我们还可以使用XMLHttpRequest
的send()
方法来异步的提交这个”表单”.比起普通的ajax
,使用FormData
的最大优点就是我们可以异步上传一个二进制文件.
想得到一个FormData
对象,很简单:
var formdata = new FormData();
但一个空的FormData
对象对我们没有意义,因此W3c草案提供了三种方案来获取或修改FormData
。
方案1:创建一个空的FormData
对象,然后再用append
方法逐个添加键值对:
var formdata = new FormData();
formdata.append("name", "司徒正美");
formdata.append("blog", "http://www.cnblogs.com/rubylouvre/");
方案2:取得form元素对象,将它作为参数传入FormData
对象中!
var formobj = document.getElementById("form");
var formdata = new FormData(formobj);
方案3:利用form元素对象的getFormData
方法生成它!
var formobj = document.getElementById("form");
var formdata = formobj.getFormData()
注意,formdata
是一个不透明的对象,现在暂时只有一个append
可以操作,不能通过序列化手段得到其里面的内容,这实在是遗憾。它的用法现在也只有一个,用于增强型的XMLHttpRequest
对象的send
方法中去!
var formElement = document.getElementById("myFormElement");
formData = formElement.getFormData();
formData.append("serialnumber", serialNumber++);
xhr.send(formData);
原文地址:http://www.cnblogs.com/rubylouvre/archive/2011/04/26/2028827.html
MDN相关介绍:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=2265