serialize()和new FormDate()都是javascript序列化表单的方法,序列化表单就是讲form表单中所有name属性序列化成KEY-VALUE的形式,提交到后台,后台以对象相应的字段接收。
但是这两种方式有什么区别呢?
以下为我的一些总结,作为参考:
1. new FormDate()支持表单中文件二进制流形式提交,也就是支持上传文件,serialize()不支持文件二进制流提交。
2. seriaLize()是jquery方法, 必须依赖jquery。
注意事项: 表单中的key有文件数组时需要单独处理处理方式如下:
const files = []; // 这里面放的是文件的二进制流
const formData = new FormData();
files.map((file) => formData.append('file', file));