关于后台接收参数为null的问题之ajax--contentType

  今天小编遇到一个关于后台接收参数为null的问题之ajax--contentType ?

答:

ajax方法中的参数:

contentType:发送至服务器时内容的编码类型,一般默认:application/x-www-form-urlencoded(适应大多数的场合)

dataType:预期服务器返回的数据类型

有时候前台ajax向后台传数据的时候,能够进到后台,但是后台显示接受的参数为null,如果ajax没有问题,这个时候就要考虑后台在接收参数的时候使用的是什么注解。(@RequestParam还是@RequestBody)

[java] view plain copy

  1. 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

  1. let da = {‘state‘:state};

[javascript] view plain copy

  1. $.ajax({
  2. type: "POST",
  3. url: httpUrl + "/insertInfo",
  4. dataType: ‘json‘,
  5. <span style="color:#cc0000;">  data: JSON.stringify(da),
  6. contentType: "application/json",</span>
  7. success: function (result) {
  8. console.log(result);
  9. $(‘#ModalInfo‘).modal(‘hide‘);
  10. },
  11. error: function () {
  12. console.log(‘错误‘)
  13. }
  14. })

这样就可以解决后台接不到参数的问题啦!!!!

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

伟大人nice

E-mail :[email protected]

QQ :602091999

Cell-phone number :15800666248

http://www.cnblogs.com/lsw9/

  欢迎骚扰  

原文地址:https://www.cnblogs.com/lsw9/p/9099559.html

时间: 2024-11-10 09:48:48

关于后台接收参数为null的问题之ajax--contentType的相关文章

Mvc后台接收 参数

@Html.TextAreaFor(m => m.Emps, new { @class = "easyui-validatebox", @style = "height:60px;width:300px;", @readonly = "readonly" }) @readonly = "readonly"这个只读属性 不能设置为其它 否则在后台接收不到 Mvc后台接收 参数

ajax提交java后台接收参数出现乱码

1.现象: 前台ajax提交查询数据 $.ajax({ url: 'bdmap/xx.action', data:para, dataType:'json', contentType:"application/x-www-form-urlencoded", success: function(data){ if(data.success){ callback(data.data); } }}) Request URL:http://localhost:8083/bdmap/xx.act

【转】MVC form提交实体接收参数时空字符串值变成null

问题:entity.BZ的值是null,Request.Form["BZ"]的值是空字符串 目标:让entity.BZ的值是空字符串. 解决方法:在实体的BZ属性上加上 [DisplayFormat(ConvertEmptyStringToNull = false)] 另:若遇到参数实体entity是null的问题,请检查form内标签的name不要跟参数名相同,不区分大小写. 如<input type="text" name="entity&quo

Postman发送请求,及后台接收

一.前言 在使用postman工具测试api接口的时候,如何使用 json 字符串传值呢,而不是使用 x-www-form-urlencoded 类型,毕竟通过 key-value 传值是有局限性的.假如我要测试批量插入数据的接口呢,使用 x-www-form-urlencoded 方法根本就不适用于这种场景. 那么如何通过postman工具使用json字符串传值呢,这里就引申出来了spring的两个注解: @RequestParam @RequestBody 总而言之,这两个注解都可以在后台接

关于前端传参数,后台接收的问题

1.通过ajax,示例: 传给后台的数据通过json封装起来,再用ajax将json传到后台,ajax是用到Jquery的ajax,在jsp先加入Jquery的引用 <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> js传值的方法如下 function testAjax() { var users=[{ name:'张三', age:'21', birt

MVC5的控制器,使用HttpPost方式时,接收的参数为null的原因

1.问题现象 POST提交时,控制的Action接收到的参数为null, 但Request.Form.Request.Params等集合其实是包含提交的所有数据的 .如下截图: 2.该问题很诡异,重新创建视图.控制器,问题仍然存在: 3.确定控制器肯定是没有问题后,决定首先将视图中的内容清空,发现可以正常接受到参数: 4.每次增加一个HTML元素,加到Model时,发现接收不到参数: 5.确定问题:当Action中的参数名称与提交的数据KEY有相同时(不区分大小写),会导致Action接收不到参

koa2 get请求后台正常接收参数 前端报404错误

刚学习一门技术时,总会踩一些坑. 前端代码 function del(mId){ $.ajax({ type:"get", url:"/delUser", data:{id:mId}, success:function(data){ console.log('成功了'); console.log(data); } }); } 后台接收请求代码 router.get('/delUser',async (ctx,next)=>{ console.log('接收请求

js提交数组参数,后台接收为字符串问题

首先我们先看一个js以post方式提交数组的方法: var image = ['20180512135343_564.png','20180512135156_860.png']: $.post('/community/community/add_community',{ 'type': 1, 'title': 'tupianshangchuan', 'image': image, },function(res) { console.log(res); }); 正常情况下,image是以数组的方

angular的post请求,SpringMVC后台接收不到参数值的解决方案

这是我后台SpringMVC控制器接收isform参数的方法,只是简单的打出它的值: @RequestMapping(method = RequestMethod.POST) @ResponseBody public Map<String, Object> save( @RequestParam(value = "isform", required = false) String isform) { System.out.println("isform value