Ajax serialize() 表单进行序列化方式上传文件
发布时间:2020-12-15 23:01:03 所属栏目:百科 来源:网络整理
导读:通过传统的 form 表单提交的方式上传文件 form id="uploadForm" action="" method="post" enctype="multipart/form-data" p上传文件:input type ="file" name="file"//p input type="submit" value="上传"/ /form 不过传统的 form 表单提交会导致页面刷新,
通过传统的 form 表单提交的方式上传文件 <form id="uploadForm" action="" method="post" enctype="multipart/form-data"> <p>上传文件:<input type ="file" name="file"/></p> <input type="submit" value="上传"/> </form> 不过传统的 form 表单提交会导致页面刷新,但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用 Ajax 的方式进行请求的。 使用 serialize() 对 form 表单进行序列化提交 $.ajax({ url: "",type: "POST",data: $('#uploadForm').serialize(),success: function(data) { },error: function(data) { } }); 如上,通过$('#uploadForm').serialize()可以对 form 表单进行序列化,从而将 form 表单中的所有参数传递到服务端。 但是上述方式,只能传递一般的参数,上传文件的文件流是无法被序列化并传递的。不过如今主流浏览器都开始支持一个叫做 FormData 的对象,有了这个对象就可以轻松地使用 Ajax 方式进行文件上传了。 使用 FormData 进行 Ajax 请求并上传文件 <form id="uploadForm"> <p>上传文件:<input type="file" name="file" /></p> <input type="button" value="上传" onclick="upload()" /> </form> function upload() { var formData = new FormData($("#uploadForm")[0]); $.ajax({ url: '',type: 'POST',data: formData,async: false,cache: false,contentType: false,processData: false,success: function(data) { },error: function(data) { } }); } 以上所述是小编给大家介绍的Ajax serialize() 表单进行序列化方式上传文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |