博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FormData对象
阅读量:6788 次
发布时间:2019-06-26

本文共 1017 字,大约阅读时间需要 3 分钟。

FormData对象是HTML5中新增的一个对象。它能使现在的AJAX交互更加简单。之前的AJAX在上传前,需要将表单的数据序列化,即jQuery中serialize;包括异步上传文件也需要写一大坨“看起来没那么必要 ”的东西。FormData能够简化这些步骤,使AJAX的数据发送变得简单清晰许多 。

FormData有三种用法,一种是创建全新的FormData对象:

var formData = new FormData();

一种是获取form表单的FormData对象:

var 
form = document.getElementById(
"form1"
);
var 
formData = 
new 
FormData(form );
或者通过form的getFormData方法:
var 
form = document.getElementById(
"form1"
);
var 
formData = form.getFormData();

获取FormData对象后,还需要向其内部插入数据,目前只能使用append:

//参数:(name,value);
formData.append(
"pwd"
,
"123456"
);
当将本地数据添加完毕后,可以通过ajax的send方法传送到服务器。
var 
xhr = 
new 
XMLHttpRequest();
xhr.open(
'GET'
,
""
,
true
);
xhr.send(formData);

当然FormData并不兼容,这是司徒正美提供的一个兼容的 FormData代码:https://gist.github.com/lemonhall/3120320

FormData在异步上传文件上会更加省事:

var 
files = fileInput.files;
var 
formData = 
new 
FormData();
//将所有文件插入formData
for 
(
var 
i=0; i<files.length; i++) {
    
formData.append(fileInput.name, files[i]);
}
              
var 
xhr = 
new 
XMLHttpRequest();
xhr.open(
'POST'
,
""
,
true
);
//即可上传
xhr.send(formData);

非常简单却非常实用的一个对象。 

转载地址:http://ehigo.baihongyu.com/

你可能感兴趣的文章
android手机自带浏览器无法识别apk文件
查看>>
HNCU1323:算法2-1:集合union (线性表)
查看>>
inpyt 按钮变透明 边框
查看>>
js 退后一步并刷新,window.history.back(-1);这个只能后退一步不能刷新,
查看>>
ArcGIS API for Silverlight学习笔记
查看>>
HDU 4465 Candy
查看>>
404、500、502等HTTP状态码介绍
查看>>
c++异常总结
查看>>
Nginx配置文件nginx.conf中文详解
查看>>
选择器中含有空格的注意事项
查看>>
RadioButton ---- 样式效果切换
查看>>
整理sqlserver 级联更新和删除 c#调用存储过程返回值
查看>>
用javascript的isNan()函数,可以判断是否为数字
查看>>
Java吸收换行符
查看>>
在ubuntu上安装nodejs[开启实时web时代]
查看>>
VB.NET服务器端令客户端下载PDF文件
查看>>
HDUOJ-----Be the Winner
查看>>
[转]Sublime Text 2 设置文件详解
查看>>
陷阱~SQL全表扫描与聚集索引扫描
查看>>
Android中数据文件解析(Json解析)
查看>>