使用ajax提交表单,包括文件上传

方法一、使用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();

猜你喜欢

转载自blog.csdn.net/zgsdzczh/article/details/80771180