0


前端传值,java后端接收

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("正在努力验证....");returntrue;}});

后端方法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("正在努力验证....");returntrue;}});

后端

/**
     * 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.


本文转载自: https://blog.csdn.net/weixin_45703155/article/details/127589531
版权归原作者 编程小飞侠 所有, 如有侵权,请联系我们删除。

“前端传值,java后端接收”的评论:

还没有评论