ajax不走后台不报错,前台使用ajax访问后台Controller,浏览器网络状态码为空,前后台均不报错...

1.问题描述

访问的地址是:http://localhost:8080/XXX/addUser

先看浏览器访问效果:

1af7b62dccf269a53fd8d4ad33dcf7e3.png

前后台都未报错:

c7335a78aea1f82e378500dd814b67f6.png

在浏览器地址栏输入url:http://localhost:8080/XXX/addUser?username=xiaoming&birth=2019-05-03

浏览器状态码为400。

5edd94ac44b67b0a030f884ac284ea85.png

2.发现问题

解释一下状态码400的含义:

3b4130cc403419779d77cf6e92c2935a.png

于是我尝试分别传不同的参数,终于发现问题是前端向后端传递的是日期字符串,后台接参数的birth字段是Date类型,也就是前台传的日期字符串跟后台Date类型的属性不能正确绑定,所以才出现上述问题。

之前前台为了获取日期字符串,使用了@JsonFormat注解。9f29d06b80f62c8c35734fd776e06cd0.png

3.解决方法

添加@DateTimeFormat(pattern="yyyy-MM-dd")注解。

3ada1b0de486c8f4c54f46e2849f32bb.png

4.总结

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")的作用是使后台向前台传递Date类型的参数时,将Date类型转换为日期字符串。

@DateTimeFormat(pattern="yyyy-MM-dd")  的作用是使后台接收前台的日期字符串,将日期字符串转换为Date类型对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值