今天小编遇到一个关于后台接收参数为null的问题之ajax--contentType ?
答:
ajax方法中的参数:
contentType:发送至服务器时内容的编码类型,一般默认:application/x-www-form-urlencoded(适应大多数的场合)
dataType:预期服务器返回的数据类型
有时候前台ajax向后台传数据的时候,能够进到后台,但是后台显示接受的参数为null,如果ajax没有问题,这个时候就要考虑后台在接收参数的时候使用的是什么注解。(@RequestParam还是@RequestBody)
[java] view plain copy
- public HttpResponseEntity selectByCollege(@RequestParam Map<String,Object> collegeName) {
使用@RequestParam时:(推荐这个)
contentType:"application/x-www-form-urlencoded"
data:{‘college‘,college}
使用@RequestParam,可以不用写contentType,
application/x-www-form-urlencoded是contentType的默认值
使用@RequestBody时:
接收的是json字符串格式的数据,
需要将contentType写成:‘application/json‘,
data:Json.Stringly(da)(将对象变成字符串)
[javascript] view plain copy
- let da = {‘state‘:state};
[javascript] view plain copy
- $.ajax({
- type: "POST",
- url: httpUrl + "/insertInfo",
- dataType: ‘json‘,
- <span style="color:#cc0000;"> data: JSON.stringify(da),
- contentType: "application/json",</span>
- success: function (result) {
- console.log(result);
- $(‘#ModalInfo‘).modal(‘hide‘);
- },
- error: function () {
- console.log(‘错误‘)
- }
- })
这样就可以解决后台接不到参数的问题啦!!!!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
伟大人nice
E-mail :[email protected]
QQ :602091999
Cell-phone number :15800666248
http://www.cnblogs.com/lsw9/
欢迎骚扰
原文地址:https://www.cnblogs.com/lsw9/p/9099559.html