关于ajax提交表单的问题

来源:互联网 发布:ipc监控软件下载 编辑:程序博客网 时间:2024/05/29 04:25

对于ajax的写法都差不多的有几种写法,比如:

$.post(path,{data:data},function(data){    ...},"json");
$.ajax({         url:"${pageContext.request.contextPath}/public/testupload",          type:"post",          data:{username:username},          success:function(data){              window.clearInterval(timer);              console.log("over..");          },          error:function(e){              alert("错误!!");              window.clearInterval(timer);          }      });    

但是如果提交的同时有上传的文件或者图片,这些方式就不行了,一般都是采用表单提交的方式,但是习惯了ajax的提交就可以用FormData,它是一个html5的javascript对象,非常的强大。
只需要在js中获取你要提交表单的对象:

var form = new FormData(document.getElementById("tf"));//tf是form表单的id

或者往对象里面装填你需要的数据:

var form = new FormData();form.append("username","zxj");form.append("password",123456)

大概最后的写法就是这样了:

function test(){            var form = new FormData(document.getElementById("tf"));            $.ajax({                url:"url",                type:"post",                data:form,                processData:false,                contentType:false,                success:function(data){                    ...                },                error:function(e){                    alert("错误!!");                }            });                    get();//此处为上传文件的进度条        }

就是这么简单,使用FormData,在构造这个对象的时候,把表单的对象,作为一个参数放进去,就可以了,然后FormData,就会得到这个表单对象里面的所有的参数,甚至我们在表单中,都不需要声明enctype =”multipart/form-data” ,就可以直接提交。

原创粉丝点击