FormData
1. FormData表单数据对象介绍
- FormData 是 Html5 新加进来的一个类,可以模拟表单数据 。
- 可以使用 JQuery 的 $.Ajax 结合 FormData 异步上传二进制文件 。
- 可以先通过 new 关键字创建一个空的 FormData 对象,然后使用 append() 方法向该对象里添加字段 。
- 也可以 new 的同时直接传入表单对象,从而创建有值的FormData对象 。
2. FormData在普通表单域中的应用
<form id="upload" method="post" action="">
<p>用户名:<input type="text" name="username" id="username" value=""/></p>
<p>密码:<input type="password" name="pwd" id="pwd" value=""/></p>
<p>头像:<input type="file" name="pic" id="pic" /></p>
<input type="button" onclick="send()" value="注册"/>
</form>
function send(){
let fm = document.getElementById("upload");
let fd = new FormData(fm);
axios({url:url,method:'post', data: fd)
}
3. FormData上传文件
let fd = new FormData();
let ff = document.getElementById('pic').files[0]
fd.append('username',document.getElementById('username').value)
fd.append('pwd',document.getElementById('pwd').value)
fd.append('pic',ff)
axios.post(url, fd)
- FormData既可以创建一个拥有指定form表单的对象,也可以创建一个空对象。
- FormData+ajax 可以实现文件上传。