转自:http://blog.csdn.net/Q_AN1314/article/details/51735184
使用jQuery从前端向后台发送JSON数据,设置了Content-Type为application/json,同时在Spring MVC的Controller里面使用了@RequestParam注解来接收参数,但是只在GET请求的时候才能正常访问,在使用POST请求的时候会产生找不到参数的异常。
原因是,jQuery发送的数据是用&符号连接起来的,像是这种:
对应的Content-Type是 application/x-www-form-urlencoded,但是在ajax中错误地将Content-Type设置成了application/json,所以出现了这种错误。
解决方法有两种,一种是ajax中发送数据时加上双引号,这样数据的格式就是这样的:
此时把Content-Type设置成application/json就可以了。另一种就是用&连接的数据,此时把Content-Type设置成application/x-www-form-urlencoded。
总之,数据的格式一定要和Content-Type保持一致。