在文件上传的部分,由于涉及了不定项input框来上传文件.所以后台接收的部分是没法处理的
感觉可以使用一个数组或者list,使用MultipartFile类型来进行接收
初始思路:
var formData = new FormData()
// 存储文件名称的数组
var fileNameList = getAllList();
// 遍历数组,一次获取file列表
var tempFiles = [];
$.each(fileNameList, function (i, item) {
var tempId = i + 1;
// 遍历获取文件
var tempFile = $(’#classMediaPic’ + tempId)[0].files[0];
tempFiles.push(tempFile );
})
formData.append(“appId”,appId);
formData.append(“fileList”,tempFiles);
ajax上传
注意dataType,async,contentType,processData一定写对,不然jquery会处理formData的数据
$.ajax({
url: basePath + ‘/url’,
type: “POST”,
dataType: ‘json’,
data: formData,
async: false, // 加上同步,不然后端得不到文件
contentType: false,
processData: false,
success: function (res) {
1. 问题:使用formData提交文件数组在文件上传的部分,由于涉及了不定项input框来上传文件.所以后台接收的部分是没法处理的感觉可以使用一个数组或者list,使用MultipartFile类型来进行接收初始思路:var formData = new FormData()// 存储文件名称的数组var fileNameList = getAllList();// 遍历数组,一次...
本文实例讲述了thinkphp5 +
ajax
使用
form
data
提交
数据(包括
文件
上传) 后台返回json。分享给大家供大家参考,具体如下:
知识点总结
1.json格式标准
'key':"value"
{"state":"1","msg":"\u7b80\u5386\u6295\u9012\u6210\u529f\uff01"}
前端jquery
ajax
提交
form
data
$.
ajax
({
form
data
获取表单数据 包括
文件
上传
<
form
class="am-
form
" id="recruitinfo">
Form
Data
是一个构造函数,首先new
Form
Data
(),得到一个
Form
Data
对象
可以直接
使用
,直接console会是一个空白的对象,有append方法,delete,get,.......
append(键,值)可以向空白的
Form
Data
中追加键值对的数据,
键 数据项的名字,必须是字符串 ; 值 数据项的值,可以是任意类型的数据
直接追加三个数据,但是此时输出fd里是看不到的,不像普通的对象形
处理的方式是将表单数据和数据对象都转成json再
提交
先将表单数据转成我们需要的json格式,通过自定义方法实现,(这个方法是我之前在某个文章拿过来的,但由于没找到原链接,只好在这里说明一下,如有侵权,私信我一下谢谢!)
//用于将表单数据转json
$.fn.serializeJson=function(){
var serializeObj...
昨天学校项目里要做个功能,是要在前端定义一条折线端,然后
提交
到后台存进数据库里。
折线段的话其实就是不定数量的一些点坐标,第一反应就是用
Form
提交
一个Point 的List,后台也用List
接收
,然而却发现
SpringMVC
不能直接
接收
List,需要做一点变动。
学校的代码不好贴出来,我单独写个例子演示一下
前端页面这样写
<!DOCTYPE html>
<html...
header: 'multipart/
form
-
data
',
注:在写请求头的时候遇到了一个坑,后端在给请求头的,可能会给成: application/x-www-
form
-urlencoded 中格式,其实是错,它无法实现对数据的
form
Data
处理。
二、创建
Form
Data
我们在
提交
参数,调接口的时候,要创建一个for
Form
Data
.append("files", 选择的
文件
)
Form
Data
.append("files", 选择的
文件
)
Form
Data
.append("files", 选择的
文件
)
就可以实现files
数组
格式的参数
表单数据填充
使用
bower 安装
Form
Data
polyfill
这是一个分叉: XMLHttpRequest 2 的
Form
Data
- Web Worker 的 Polyfill (c) 2014 Rob Wu
bower install --save git@github.com:saschame/
Form
Data
.polyfill.js.git
把
数组
直接append到
Form
Data
对象中,post的请求会把
数组
拼接成一个字符串发送给服务器,又不想在服务器端截取字符串。
解决方案:遍历
数组
把
数组
项依次append添加到
Form
Data
对象,服务器端就可以获取
数组
了。
javascript 代码
var arr=['上海','北京'];
var
form
Data
= new
Form
Data
();
for (var i = 0;...
要
接收
一个
Form
Data
数组
对象,你可以在 Spring MVC 控制器方法中
使用
`@RequestParam` 注解。假设你的表单中有一个名为 `
form
Data
Array` 的
数组
对象,你可以这样
接收
:
```java
@PostMapping("/
form
data
")
public String handle
Form
Data
(@RequestParam("
form
Data
Array") List<
Form
Data
>
form
Data
Array) {
// 处理
Form
Data
数组
对象
return "success";
在这个例子中,`@RequestParam` 注解中的参数值 `"
form
Data
Array"` 对应了表单中的
Form
Data
数组
对象的名称。Spring MVC 将会自动将表单数据转换成 `List<
Form
Data
>` 对象,并传递给控制器方法。
如果你的表单中还有其他的字段需要
接收
,你可以在控制器方法中添加更多的参数和注解。例如,假设表单中还有一个名为 `username` 的文本字段,你可以这样
接收
:
```java
@PostMapping("/
form
data
")
public String handle
Form
Data
(@RequestParam("
form
Data
Array") List<
Form
Data
>
form
Data
Array,
@RequestParam("username") String username) {
// 处理
Form
Data
数组
和用户名
return "success";
在这个例子中,Spring MVC 将会自动将表单中的 `username` 字段的值转换成 `String` 类型,并传递给控制器方法。