js 提交表单数据: 附件+对象的的多集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 提交表单数据: 附件+对象的的多集合相关的知识,希望对你有一定的参考价值。

参考技术A 在我们前端进行表单提交的时候,有时候会出现这种情况:Failed to convert   java.lang.String    to java.util.List

等等。

例如:

  我后台定义一个对象:

       examPaper 包含  String userId,Float userScore, MultipartFile  examFile  用户id  ,试卷分数,试卷文件

对象外面   classPaper有: String classId  String className  List<examPaper>  examPaperList

这个时候,后台接收为  ClassPaper

如果按照平常的 form-data   提交  则应按以下方式提交:

let  fd  = new FormData();

fd.append("classId ",classId );

fd.append("className ",className );

examPaperList.forEach((item,index) ->

     fd.append("examPaperList["+index+"].userId",item.userId);

     fd.append("examPaperList["+index+"].userScore",item.userScore);

     fd.append("examPaperList["+index+"].examFile ",item.examFile );

);

以这种方式就可以实现 多附件  一一 对应提交。以避免对象转换错误问题。

以上是关于js 提交表单数据: 附件+对象的的多集合的主要内容,如果未能解决你的问题,请参考以下文章

Sails.js 表单帖子未提交任何数据

两个表单的的ajax 提交的js

jquery或js前端提交数据的几种方式

通过jQuery Ajax提交表单数据时同时上传附件

表单POST提交普通字段和提交附件传输的区别

jquery.form.js提交 input file中的文件