袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

Ajax serialize()提交form表单不能上传file类型

浏览量:256

what:

why:

how:
FormData的封装方式,将form表单中的内容封装成formdata的数据格式
FormData 对象可以把form中所有表单元素的name与value组成一个queryString,提交到后台,在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量。

FormData的使用方法也是非常简单,直接传入form表单对象即可,如下:

var form = $(\#form1\);  
var formdata = new FormData(form);  


使用这种方式将数据封装后,file类型的文件数据即可以键值对的方式封装在formdata中,然后用ajx提交,方法如下:

 $.ajax({  
        type : "POST",  
        url : "houtai/123.do",  
        data: formData,
        async: false,  
        cache: false,  
        contentType: false,  
        processdata: false,
        success : function(msg) {  
            if(msg){
            alert(\提交成功!\);
            } 
        }  
});  

有一点需要注意的是,以formdata的方式提交时需要添加async: false, 同步,否则后台无法接收到前台传过来的file文件数据,这样的提交方式,既可以提交任何一种type类型标签,又可以在提交之后得到返回结果,方便快捷又实用。
打赏