@RequestParam注解
由于现在最常用的前后端数据传递格式为JSON,所以在此只讨论http请求中RequestHeader中Content-Type= application/json; charset=UTF-8 和 Content-Type= application/x-www-form-urlencoded; charset=UTF-8 的两种情况,其中application/x-www-form-urlencoded为ajax请求和form表单请求数据的默认格式。
1.form表单提交
form的enctype有如下几种格式,默认格式为application/x-www-form-urlencoded,此时不论form表单为get还是post请求,@RequestParam()都可以取得数据
2.ajax提交
ajax不论是get还是post请求,@RequestParam()可以获取application/x-www-form-urlencoded格式的数据,但不能获取application/json格式的数据
当ajax为post请求,数据格式为application/json,@RequestParam()获取不到数据,但不报错
当ajax为get请求,数据格式为application/json,前端报错
注:当ajax请求的Content-Type 设为application/json时,一定要把传输的数据用JSON.stringify()装换成JSON格式,否则会出现问题
总结:@RequestParam()注解可以接收application/x-www-form-urlencoded格式的form表单,ajax的提交数据,但是不能接收JSON数据格式的数据
以上是 @RequestParam注解 的全部内容, 来源链接: utcz.com/z/515803.html