前端传值,java后端接收
var data = {“title”:“标题”, “systemType”:[1,2,3]}此时myJSON字符串就是’[0,1,2]',传给后台接受。后端方法1的对象UserDto。
·
1. 前端多个对象数组的JSON.stringify转化为字符串传参,后端集合对象接收:
var arr = [ 0, 1, 2];
var myJSON = JSON.stringify(arr);
此时myJSON字符串就是’[0,1,2]',传给后台接受
前端
//页面加载完毕
$(function(){
var data = [{
loginAct:111,
loginPwd:1111,
},{
loginAct:222,
loginPwd:2222,
}];
//转化成json格式发送
data = JSON.stringify(data);
//发送请求
$.ajax({
url:'test',
data:data,
contentType: "application/json",
type:'post',
dataType:'json',
success:function (data) {
debugger
},
beforeSend:function () {//当ajax向后台发送请求之前,会自动执行本函数;
//该函数的返回值能够决定ajax是否真正向后台发送请求:
//如果该函数返回true,则ajax会真正向后台发送请求;否则,如果该函数返回false,则ajax放弃向后台发送请求。
$("#msg").text("正在努力验证....");
return true;
}
});
后端方法1(使用spring注解@RequestBody接收):
@PostMapping("test")
@ResponseBody
public void test(@RequestBody List<UserDTO> datas){
for (UserDTO data:datas) {
data.setEmail("122");
System.out.println(data);
}
//datas.getClass().toString()获取datas的数据类型
System.out.println(datas.getClass().toString());
}
后端方法1的对象UserDto
package com.mycrm.maven.workbench.dto;
import java.io.Serializable;
/**
* dto
* @author AUAS
*/
public class UserDTO implements Serializable {
private String loginAct;
private String loginPwd;
private String email;
public String getLoginAct() {
return loginAct;
}
public void setLoginAct(String loginAct) {
this.loginAct = loginAct;
}
public String getLoginPwd() {
return loginPwd;
}
public void setLoginPwd(String loginPwd) {
this.loginPwd = loginPwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
后端方法2(使用JSON.parseArray()把前端 [{“loginAct”:111,“loginPwd”:1111},{“loginAct”:222,“loginPwd”:2222}] 数据转化为LIST):
@PostMapping("test")
@ResponseBody
public void test(@RequestParam(value = "data", required = false, defaultValue = "[]")String data){
//把前台传来的数据('[]')转化为List
List<UserDTO> datas = JSON.parseArray(data,UserDTO.class);
for (UserDTO dataOne:datas) {
dataOne.setEmail("122");
System.out.println(dataOne);
}
System.out.println(datas.getClass().toString());
}
2.前端对象传参,后端直接对应接收:
var data = {“title”:“标题”, “systemType”:[1,2,3]}
前端
//页面加载完毕
$(function(){
//创建数组
var systemType= new Array();
systemType.push(0);
systemType.push(1);
systemType.push(2);
//发送请求
$.ajax({
url:'test',
data: {"title":"标题", "systemType":systemType},
type:'post',
dataType:'json',
success:function (data) {
debugger
},
beforeSend:function () {//当ajax向后台发送请求之前,会自动执行本函数;
//该函数的返回值能够决定ajax是否真正向后台发送请求:
//如果该函数返回true,则ajax会真正向后台发送请求;否则,如果该函数返回false,则ajax放弃向后台发送请求。
$("#msg").text("正在努力验证....");
return true;
}
});
后端
/**
* post请求接收
* @param
*/
@RequestMapping(value = "test", method = RequestMethod.POST)
@ResponseBody
public String test(
@RequestParam(value = "title",required = true,defaultValue = "") String title,
@RequestParam(value = "systemType[]",defaultValue = "[]" ) List<Integer> systemType
){
return title;
}
3.
更多推荐
已为社区贡献1条内容
所有评论(0)