页面代码:
<form id="form">
<input type="file" name="file"/>
<input type="text" name="name"/>
<input type="button" value="upload" onclick="test();"/>
</form>
方法一:使用FormData对象
function test(){
var form = new FormData(document.getElementById("form"));
$.ajax({
url:"${pageContext.request.contextPath}/test/testupload",
type:"post",
data:form,
processData:false,
contentType:false,
success:function(data){
...
},
error:function(e){
alert("错误!!");
...
}
});
}
使用FormData,在构造这个对象的时候,把表单的对象,作为一个参数放进去,然后就会得到这个表单对象里面的所有的参数,在表单中,不需要声明enctype ="multipart/form-data" ,就可以直接提交。
方法二:使用jquery.form.js
Jquery.form.js是一个表单插件,提供了许多便捷的方法。详细请参考:http://plugins.jquery.com/form/
使用jquery.form.js的表单插件来提交表单只需要一句代码:
$("#form").ajaxSubmit();