Ajax 传数组对象(始终映射不进后端对象中)

一、用法

前端:代码

 $.ajax({
            type:"post",
            url:"${pageContext.request.contextPath}/xxx",	
            data:JSON.stringify(array),
            dataType:'JSON',
            contentType:"application/json",
			async:false,
            success:function (data) {
				
            }
        })

后端代码:

	@ResponseBody
    @RequestMapping(value = {"xxx"}, method = RequestMethod.POST)
    public String test(@RequestBody ArrayList<YourObject> list,HttpServletRequest request){
        return "null";
    }

二、注意(这也是我入过的坑,实体类属性大小写不规范)
先看个截图吧,一目了然:
在这里插入图片描述

如图所示:我在实体类中的是 IDCard 前端接收到就转为了小写的 idcard
如果你将信息上传的时候想着要与后端属性相对应,做映射,但在前端的对象中使用

var obj = {}
obj.IDCard =430703xxx“;
var arr = new Array();
arr.put(obj);
这样使用,恭喜你,和我一样调入坑里了

这样传过去是错误的,虽然看着没毛病,但事实告诉我,这确实行不通,我查了一下资料,是 JavaBean 的规范导致的,一般 JavaBean 属性都是首字母小写,以驼峰式命名;
解决方法:
方法一:
你将对象数据拉去下来的时候是什么,复制粘贴一份就好了,比如:
在上图中我之前拉去下来的对象属性是 idcard ,在前端界面修改后,上传给服务器为:

var obj = {}
obj.idcard=430703xxx“;
var arr = new Array();
arr.put(obj);

方法二: 在你的 JavaBean 对应的字段上添加 @JsonProperty 注解,如:

@JsonProperty("IDCard")
private String IDCard;

参考:https://blog.csdn.net/weixin_42810470/article/details/105633028

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值