前端传值,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("正在努力验证....");
				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.

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值