$("form").serialize()和 new FormData($('#uploadForm')[0])的区别
2017-10-10 09:54
417 查看
$("form").serialize()和 new FormData($('#uploadForm')[0])都是序列化表单,实现表单的异步提交,但是二者有区别
首先,前者,只能序列化表单中的数据 ,比如文本框等input select等的数据,但是对于文件,比如文件上传,无法实现,那么这时候,FormData就上场了,
new FormData使用需要有一个注意点,
注意点一:,对于jquery的要求是,好像是 版本1.8及其以上方可支持。
另外该对象不仅仅可以序列化文件,一样可以用作表单数据的序列化,(就是说包含了serialize()的功能);
注意点二:看脚本
注意红色部分脚本以及说明,
首先,前者,只能序列化表单中的数据 ,比如文本框等input select等的数据,但是对于文件,比如文件上传,无法实现,那么这时候,FormData就上场了,
new FormData使用需要有一个注意点,
注意点一:,对于jquery的要求是,好像是 版本1.8及其以上方可支持。
另外该对象不仅仅可以序列化文件,一样可以用作表单数据的序列化,(就是说包含了serialize()的功能);
注意点二:看脚本
//提交文件 function submitFile() { $('.btn-publish').click(function () { //var title = $('.txt-video-title').val(); var uploadFormData = new FormData($('#uploadForm')[0]);//序列化表单,$("form").serialize()只能序列化数据,不能序列化文件 $.ajax({ type: 'POST', data: uploadFormData, url: '/Artical/Publist',//TypeError: 'append' called on an object that does not implement interface FormData. processData: false, contentType: false, async: false, success: function (data) { if (typeof (data) == undefined) { alert("用户信息已丢失,请重新登录!"); window.parent().location.href = "/Account/Login"; } if (data.ErrorMsg == "") { alert('美文发布成功!'); } else { alert(data.ErrorMsg); } } }); }); }
相关文章推荐
- 关于jquery的 $("form").serialize()和 new FormData表单序列化
- var formData = new FormData($( "#addVoteForm" )[0]);
- 异步上传文件使用new FormData($(‘#uploadForm‘)[0])序列化表单
- //另一种提交type='file'的方法,不需要用到插件query-form.js var formData = new FormData($( "#formFile" )[0]); $.ajax
- ajax form表单提交,serialize和formData的区别
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- String s=new String("hello")与String s="hello"的区别?
- String str="abc"和String str=new String("abc")的区别
- @SuppressLint("NewApi")和@TargetApi()的区别
- struts中enctype="multipart/form-data",request.getParameter("file") 是null的问题分
- 绑定 DataBinder.Eval(Container.DataItem,"字段")与 Eval("字段") 区别?
- 总结:form中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
- String s="abc"和String s=new String("abc")的区别
- FORM的ENCTYPE="multipart/form-data" 时request.getParameter()值为null问题的解决
- 绑定 DataBinder.Eval(Container.DataItem,"字段")与 Eval("字段") 区别?
- postman中 form-data、x-www-form-urlencoded、raw、binary的区别
- <input type = "submit"> 提交方式和用js的form.submit()有什么区别?
- postman中 form-data、x-www-form-urlencoded、raw、binary的区别
- multipart/form-data和application/x-www-form-urlencoded的区别