㈠ js表单提交数据
b.html里这么写
<form action="a.html" method="get">
<input type="text" name="username" />
<input type="submit" value="post" />
</form>
在文本框输入一些东西后点下按钮就可以提交到a.html里了,你也可以看到地回址栏里后面跟了一答串数据:?username=文本里填的东西;
但是要通过js取出这个数据的话,得用到jsp里面的内置对象 request,调用request.getParameter("username") 就能去到文本框里写的东西了。所以html文件取不到,得用jsp
㈡ js 提交表单数据: 附件+对象的的多集合
在我们前端进行表单提交的时候,有时候会出现这种情况: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实现数据的批量提交
在一个项目中用Excel组件OWC.Spreadsheet在客户端链友导出HTML格式的表格为Excel文件,对于数据量较大的表格导出会造成IE窗口迟唤链停止响应,用户体验很差。想到三个解决方案: 1、用applet结合jxl实现。暂不考虑。 2、利用类似Ajax请求的机制,异步调用码孙一个导出方法,该方法在导出完毕后回调一个callback方法。 3、利用类似Java中的线程机制,直接开一个导出线程即可。
㈣ js 模拟POST提交enctype="multipart/form-data"类型的表单
只是需要文件上传才用它的
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
改成
xmlHttp.setRequestHeader("Content-Type","multipart/form-data;")。