似乎Javascript中新增的FormData
类正在网上广泛使用,尤其是在使用Ajax上传多个文件时。但是它与大多数IE浏览器不兼容,除非是10+版本...
我是否应该有一个像这样的HTML:
<form id="normalForm" enctype="multipart/form-data" onSubmmit="gaga()">
<input name="aFile" id="aFile" type="file" multiple/>
<input type="button" value="go">
</form>
以及普通的JavaScript:
function gaga {
var f= document.getElementById("normalForm");
/// do something
}
使用新的FormData函数或a函数:
function nGaga (){
var f= new FormData()
f.append("aFile", fileInputElement.files[0])
/// and whatever else to be appended
}
经过一些阅读,我了解到这主要用于在JavaScript中生成“键:值”对象。然而,使用jQuery,我可以做类似以下的事情:
var f= $('#normalForm').serializeArray();
这将会给我一个 "键:值"
对象。
那么,为什么在处理XMLHTTP请求时应该使用 new FormData
呢?有什么区别?