前端使用jQuery的ajax的post请求提交一个对象,但是一直返回错误。后台报错空指针并且获取不到对象。代码如下,请指教.
500是服务器错误,建议断点下this.triggerService.createTrigger这里看下。 可能: 1、triggerService未注入; 2、createTrigger内部处理出错抛出空指针等异常。
@。淑女范erり: 后台是报空指针
@风雨长安: 那,那你要断点看看哪里报的空指针呢,或者把异常堆栈打出来看下行号什么的。
@。淑女范erり: 我看了,是内部处理报出的空指针,但是归根结底还是没有传过去参数啊
@风雨长安: 看你的日志,trigger参数是有的,但是trigger的一些属性缺失,为null。那应该是前端赋值出错,你console.log打印的东西可以看下,应该是你那些$("#").val没有取到值。
@。淑女范erり: 取到值了
@风雨长安: return trigger 改成 return Json.stringify(trigger) 试试应该好了。 其他代码应该没什么问题,传入后台的参数应该是这个字符串,不能直接传入object,
return trigger
return Json.stringify(trigger)
@。淑女范erり: 不行,后台获取不到值
@风雨长安: controller参数那里还缺少注解 createTrigger(@RequestBody Trigger trigger)
createTrigger(@RequestBody Trigger trigger)
@风雨长安: contentType: 'application/json', 前端同时指定参数为json格式。。
@。淑女范erり: 试过了,后台接收不到传过来的trigger
@风雨长安: data 那里也有问题,data: function() {...}();,最后添加一个括号,你的匿名函数没有执行,data的值是个函数定义。
data: function() {...}();
@。淑女范erり: 解决了,这是一部分,ajax还要加上contentType:"application/json",
设个断点看看哪里报错了,或者写日志
数据是可以获取到的,但是后台没有获取到.所以只有没传过去和没接收到这两个问题.这部分不是很懂,看看看网上资料也没解决.
500是服务器错误,建议断点下this.triggerService.createTrigger这里看下。
– 。淑女范erり 4年前可能:
1、triggerService未注入;
2、createTrigger内部处理出错抛出空指针等异常。
@。淑女范erり: 后台是报空指针
– 风雨长安 4年前@风雨长安: 那,那你要断点看看哪里报的空指针呢,或者把异常堆栈打出来看下行号什么的。
– 。淑女范erり 4年前@。淑女范erり: 我看了,是内部处理报出的空指针,但是归根结底还是没有传过去参数啊
– 风雨长安 4年前@风雨长安: 看你的日志,trigger参数是有的,但是trigger的一些属性缺失,为null。那应该是前端赋值出错,你console.log打印的东西可以看下,应该是你那些$("#").val没有取到值。
– 。淑女范erり 4年前@。淑女范erり: 取到值了
– 风雨长安 4年前@风雨长安:
– 。淑女范erり 4年前return trigger
改成return Json.stringify(trigger)
试试应该好了。 其他代码应该没什么问题,传入后台的参数应该是这个字符串,不能直接传入object,@。淑女范erり: 不行,后台获取不到值
– 风雨长安 4年前@风雨长安: controller参数那里还缺少注解
– 。淑女范erり 4年前createTrigger(@RequestBody Trigger trigger)
@风雨长安: contentType: 'application/json', 前端同时指定参数为json格式。。
– 。淑女范erり 4年前@。淑女范erり: 试过了,后台接收不到传过来的trigger
– 风雨长安 4年前@风雨长安: data 那里也有问题,
– 。淑女范erり 4年前data: function() {...}();
,最后添加一个括号,你的匿名函数没有执行,data的值是个函数定义。@。淑女范erり: 解决了,这是一部分,ajax还要加上contentType:"application/json",
– 风雨长安 4年前