关于 Spring MVC,使用JavaScript原生的Ajax提交请求,后端Controller接收不到参数,有哪位道友可以帮忙回答一下吗?
下面是代码:
Spring MVC配置:
目前,后端能接收到参数的也只有以下这种方法:
先看下是否进接口了。如果只是接收不到参数,那是映射问题。
你这里是POST请求,
你这请求头设置了json格式 后端就需要依赖@RequestBody注解
地址别写成一模一样的,要么请求方式不同,要么地址不同,你这启动没报错吗。
你这能请求到controller去?
首先,后端接受请求要素,1:请求url需要对应且唯一,2:请求方式需要对应(例如post)3:请求格式需要对应(例如json或者表单)
例图的第一个失败代码原因
不满足第2点和第3点
解决 2:前端js改为get请求
3:前端传值为json格式string(例如: username=张三 )
mapping都一样,启动就应该报错了
Controller里面加@RestController
方法参数前面加@RequestBody就可以了
1、后端请求的方式要和前端请求要一致,要么都为post,要么都为get,否则请求无法到达方法
2、参数格式要一致,如果是post请求,前端传的是json字符串,后端接口方法中User对象前要加 @RequestBody,如果是get请求,后端可以使用@RequestParam接收
后端指定请求类型呢,谷歌看看前端传数据没