java开发中为啥我的spring mvc后台接收不到前台传来的参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java开发中为啥我的spring mvc后台接收不到前台传来的参数?相关的知识,希望对你有一定的参考价值。

这是页面的传参方法:
$.ajax(
type:'post',
url:'frequency/add.do',
dataType:'json',
contentType:'application/json;charset=UTF-8',
data:$('#frequencyForm').serializeArray(),
success:function(result)
alert(result.msg);

);
);

这是后台的controller方法 能进入这个方法 但获取不到参数
@RequestMapping("add.do")
public ModelAndView addFrequency(Frequency f)
ModelAndView mav=new ModelAndView();
System.out.println("检查人"+f.getCheck_person());//打印空值
Map param=new HashMap();
param.put("msg", "thank you");
mav.addAllObjects(param);
return mav;


前台form表单的input元素的name与Frequency类的各个属性都对应 名字都一样
后台如果用request.getParameter可以获取参数 但是Frequency对象有20多个属性呢。。。
如果去掉contentType:'application/json;charset=UTF-8',根本没法发送到后台 会告诉我400bad request

参考技术A 将serializeArray()改为serialize()试试?追问

一样不行

参考技术B

这样暂时看不出什么问题,你可以按F12看看浏览器的请求的详细信息,看看你的具体请求的内容,主要是传递的数据字段的名称像这样的

以上是关于java开发中为啥我的spring mvc后台接收不到前台传来的参数?的主要内容,如果未能解决你的问题,请参考以下文章

支持Java Spring MVC

springmvc 如何接收list<user> 集合

JAVA spring MVC 前台如何取得后台返回的map类型的数据?

spring mvc $.ajax没有指定contentType ,导致后台无法接收到数据

Spring mvc 前后台通过json交互转

spring MVC图书后台管理系统开发