前后端提交数据

前端layui,使用axios提交数据,后端controller接收数据

方式一

前端是表单

data:{
 "userName":data.user_name
 ,"password":data.password
 ,"type":data.type
}‘

如果使用data:data.field也可以。

后端定义了一个类User

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tb_user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String userName;

    private String password;

    private String name;

    private String phone;

    /**
     * 0管理员/1宿管员/2学生
     */
    private Integer type;

    private String remark;

}

控制器

@PostMapping("/login")
public Result login(@RequestBody User input_user){
	System.out.println(input_user);
	...

后端输出结果

User(id=null, userName=stu, password=1, name=null, phone=null, type=0, remark=null)

方式二

前端

data:data.field

控制器

@PostMapping("editPassword")
    public Result editPassword(@RequestBody Map map){
          for(Object key:map.keySet()){
              System.out.println(key);
          }
          for(Object value:map.values()){
            System.out.println(value);
          }

后端输出结果

old_password
new_password
again_password
123456
123
123

方式三

前端

url:'/user/deleteOne/'+data.id

后端控制器

@PostMapping("/deleteOne/{id}")
public Result deleteOne(@PathVariable(value="id") Integer delete_id){
    System.out.println(delete_id);

后端输出

16

方式四

主要用在复选框传递多个值的处理上

前端

let userIds = data.map(item=>item.id) //data是table的列表
userIdsStr = userIds.join(",")
axios.post("user/deletePart/"+userIdsStr)

后端控制器

@PostMapping("/deletePart/{userIdsStr}")
public Result deletePart(@PathVariable("userIdsStr")List<String> ids){
	ids.forEach(System.out::println);

后端输出

14
21
posted @ 2021-03-02 01:25  DJ同学  阅读(85)  评论(0编辑  收藏  举报