FormData与jQuery#serialize(),有什么区别
FormData vs jQuery#serialize(), What is the difference?
最近我使用AJAX提交了一个表单。
在研究最佳方法时,我看到一些AJAX提交使用jQuery#serialize()
,另一些使用FormData
。例如
一份提交的文件做到了这一点:
data: $('form').serialize()
而另一个做到了:
var formData = new FormData($('form')[0]);
data: formData
那么FormData
和jQuery#serialize()
之间有什么区别呢?
从使用角度来看,主要区别在于不能序列化文件,只能序列化文件名。。。。文件输入的CCD_ 5。
另一方面,FormData
对象也包括文件(如果适用)。
此外,CCD_ 7将在不支持FormData API的较旧浏览器中工作,例如IE<10
参考FormData文档
一个更重要的区别是表单中空输入字段的处理
serialize()只包含带值的输入字段。键/值对中将缺少未选中的复选框或空输入字段。因此,应用程序的后端必须进行一些记账,以便将丢失的键解释为空值。
FormData将为您提供所有表单字段及其值的完整列表。即使它们是空的。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- 在ember/handlers中使用value和valueBinding有什么区别
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- Math.min()和Math.max()之间有什么区别?在Javascript中
- angularjs中的ng网格和ui网格有什么区别
- webpack开发模式和生产构建模式之间有什么区别
- 缓存!saveLocations()和addLocation()函数有什么区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 以下两者在javascript中有什么区别
- jquery.js和jquery.lite.js有什么区别
- 通过Nuget安装Angular JS和Angular JS核心有什么区别
- XMLHttpRequest对象的open()和send()方法之间有什么区别
- 这两种不同的创建对象文字的方法有什么区别
- jQuery中这两个词有什么区别
- 在Javascript语法中:和::和:::有什么区别
- getElementById 和 getElementsByClassName 有什么区别?
- (typeof variable === “function”) 和 jQuery.isFunction() 有什么区别
- 在使用JS的Ajax调用中,ajaxComplete和beforesend之间有什么区别
- $(e.target).find和template.find('input').value之间有什么区别
- 在javascript中,在变量名之前使用var有什么区别/优势吗