【发布时间】:2013-07-21 03:27:02
【问题描述】:
似乎 Javascript 中新添加的FormData 类在网上越来越猖獗。主要是在使用 Ajax 定位多个文件上传时。但是如果不是 10+,它与大多数 IE 有一些兼容性问题......
我应该有这样的 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
}
或带有 New FormData:
的函数 function nGaga (){
var f= new FormData()
f.append("aFile", fileInputElement.files[0])
/// and whatever else to be appended
}
经过一番阅读,我不知何故了解到,这主要用于在 Javascript 中生成"Key:value" 对象。但是,使用 jQuery,我可以做类似的事情:
var f= $('#normalForm').serializeArray();
这会给我"Key:value" 对象。
那么,尽管存在问题,为什么在处理 XMLHTTPrequests 时还要使用new FormData?有什么区别?
【问题讨论】:
标签: javascript jquery html xmlhttprequest multipartform-data