方法一、使用formData对象
FormData对象是html5的一个对象,目前的一些主流的浏览器都已经兼容。额,如果你说ie8什么的,那我们还是来谈谈今天的天气吧,我没听见。呵呵,开个玩笑,不支持FormData的,可以使用方法二,下面会介绍。接着说FormData,它是一个html5的javascript对象,非常的强大。
FormData还支持直接从html中的表单生成数据,就是在html页面中已经有数据了,然后FormData可以直接把这个表单的数据写入这个对象,然后直接提交给后台
<form id="tf">
<input type="file" name="img"/>
<input type="text" name="name"/>
<input type="button" value="提交" οnclick="test();"/>
</form>
注意这个是包含文件的!!
JS如下:
function test(){
var form = new FormData(document.getElementById("tf"));
$.ajax({
url:"${pageContext.request.contextPath}/public/test",
type:"post",
data:form,
processData:false,
contentType:false,
success:function(data){
alert("success")
}
});
}
这样直接在后台接受就可以了
方法二、使用Jquery.form.js
对于表单
<form id="tf">
<input type="file" name="img"/>
<input type="text" name="name"/>
<input type="button" value="提交" οnclick="test();"/>
</form>
只需在JS中写如下:
$("#tf").ajaxSubmit();