http请求后台springMvc中获取不到请求参数

今天在做一个分页的时候,发现前台数据后台无法获取到,但是httpRequest是可以确定传入参数了的
这里写图片描述
后台使用springMVC框架处理请求:

 @RequestMapping(value = "list", method = RequestMethod.POST)
    public Object list(@RequestParam(value = "currentIndex", required = false)Integer current,
                       @RequestParam(value = "pageSize", required = false)Integer size){

结果总是报错:空指针异常

 DEBUG   - Could not complete request java.lang.NullPointerException

我当时的感觉是,没有问题啊(其实这个问题一眼就可以看出来)前台保证数据是传入了的,后天保证获取数据的方式没有错。。。。尴尬了,没办法,只有继续查,bug不调出来心里难受啊。从ajax开始查代码:

 $.ajax({
        type: 'post',
        url: rootPath+'/monitor/list',
        contentType: 'application/json',
        data:{ "currentIndex": currentIndex, "pageSize": pageSize },
        datatype: 'json',
        success: function (res) {}
   });

尝试1:

 data:JSON.stringify({ "currentIndex": currentIndex, "pageSize": pageSize }),

结果:
这里写图片描述
我已经不能呼吸了,这样了还是报错空指针。
尝试2:
感觉以前写ajax时候,没有使用contentType: ‘application/json’,所以去掉

 contentType: 'application/json',

这行代码,结果;
这里写图片描述
绝望了,还是报错空指针。最后再把JSON.stringify()去掉
尝试3:

 $.ajax({
        type: 'post',
        url: rootPath+'/monitor/list',
        data:{ "currentIndex": currentIndex, "pageSize": pageSize },
        datatype: 'json',
        success: function (res) {}
   });

你猜怎么着,看结果:
这里写图片描述
没有报错了,哈哈。我曹卧槽卧槽!!!!!!!!!!!!!!我马上去查了

contentType: ‘application/json‘还有JSON.stringify()

contentType:

MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。就是说明文档类型

JSON.stringify():

从一个对象解析出字符串

 var a={a:1,b:2}
  经 JSON.stringify(a)得到:
  "{'a':1,'b':2}"

这样就说明清楚了,还有一个解析json的:JSON.parse(str)
通过刚刚那个函数将json对象转换为一个字符串了,这样后台获取不到就是必然的了。想想今天这个bug,其实刚刚开始就可以一看看出来的,不过最后还是解决了。但是,同时说明了一个问题,基础不够扎实,还需要努力。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值