No | 类型 | 描述 | 常见问题 | 参数Data | 请求代码 | 后端代码 | 操作 |
---|---|---|---|---|---|---|---|
f1 | 实体嵌套List提交 |
适用于请求时,一个实体嵌套这一个list。
举例:提交一个老师的实体Teacher,老师管理着不同的学生,还要传入学生实体List <Student>
|
提交异常,会报400错误 |
{ "name": "张老师", "age": "40", "students": [ { "name": "王小明", "age": "15" }, { "name": "李小红", "age": "15" } ] } |
function f1(){ // 关键逻辑,需要转化成JSON字符串 let data = JSON.stringify(teacher) $.ajax({ type : 'post', url : '/f1', data : data, contentType:'application/json', success : function(resData) { console.log("f1调用成功" + resData) alert("f1调用成功" + resData); }, }); } |
@PostMapping("/f1") @ResponseBody public String f1(@RequestBody Teacher teacher){ return teacher.toString(); } |
|
f2 | 文件上传 | 适用于原生文件上传,onchange后数据组装 | 提交时后台接收的MultipartFile为空 |
file: (binary) |
function f2(){ let file = event.target.files[0]; let formData = new FormData(); formData.append('file', file); $.ajax({ url: '/f2', type: 'post', contentType: false, // ContentType设置成false processData: false, // 不需要让浏览器对FormData进行转换 data: formData }).done(function (resData) { console.log("f2调用成功:" + resData) alert("f2调用成功:" + resData) }) } |
@PostMapping("/f2") @ResponseBody public String f2(@RequestParam("file") MultipartFile file) { if (file.isEmpty()) { return "上传失败,请选择文件"; } String fileName = file.getOriginalFilename(); return fileName; } |
|
f3 | 上传List |
适用于请求时,直接传一个List实体。
|
提交异常,会报400错误 |
[{ name: "张老师", age: "40" },{ name: "李老师", age: "35" }] |
function f3(){ // 关键逻辑,需要转化成JSON字符串 let data = JSON.stringify(teachers) $.ajax({ type : 'post', url : '/f3', data : data, contentType:'application/json', success : function(resData) { console.log("f3调用成功" + resData) alert("f3调用成功" + resData); }, }); } |
@PostMapping("/f3") @ResponseBody public String f3(@RequestBody List<Teacher> teachers) { return teachers.toString(); } |
|
f4 | 上传数组Array | 适用于请求时,直接传一个数组。 | 提交异常,会报500错误 |
[1,2,3,4] |
function f4(){ $.ajax({ type : 'post', url : '/f4', data : { array:array }, dataType: 'json', success : function(resData) { console.log("f4调用成功" + resData) alert("f4调用成功" + resData); }, }); } |
@PostMapping("/f4") @ResponseBody public int[] f4(@RequestParam(value = "array[]")int[] array) { return array; } |