Spring MVC后台接收不到POST请求的参数

使用jQuery从前端向后台发送JSON数据,设置了Content-Type为application/json,同时在Spring MVC的Controller里面使用了@RequestParam注解来接收参数,但是只在GET请求的时候才能正常访问,在使用POST请求的时候会产生找不到参数的异常。

原因是,jQuery发送的数据是用&符号连接起来的,像是这种:

Spring MVC后台接收不到POST请求的参数_第1张图片

对应的Content-Type是 application/x-www-form-urlencoded,但是在ajax中错误地将Content-Type设置成了application/json,所以出现了这种错误。

解决方法有两种,一种是ajax中发送数据时加上双引号,这样数据的格式就是这样的:

Spring MVC后台接收不到POST请求的参数_第2张图片

此时把Content-Type设置成application/json就可以了。另一种就是用&连接的数据,此时把Content-Type设置成application/x-www-form-urlencoded。

总之,数据的格式一定要和Content-Type保持一致。

你可能感兴趣的:(Spring)