最近在写一个前后台交互的需求,前台点击编辑按钮,直接报错:SyntaxError: Unexpected end of JSON input。
网上查了下基本都是 一般**“ ”(双引号), ‘ ’(单引号) ,{},[]**未成对输入时导致报错。但是我这边没法解决。
重新检查了JavaScript的代码,具体代码如下
case 'edit':
rdata = {
type: data.type,
value: data.value
};
pageAction.editNbrList(rdata, function () {
this.pageGrid.saveRow(rowid, {trigger: false});
}.bind(this));
break;`
本地debug开始调试,发现后台controller也可以正常跑调数据库查数据;前台JavaScript调试也可以正常调ajax将dto中的对象返回json串。
最终决定从请求的入口controller层重新查找原因,由于新增操作返回类型是dto对象,可以正常实现,而修改、删除操作是用的void返回类型,修改下controller的方法入口,将返回类型修改为对应的dto,return出该请求体的dto,重新测试下,发现不报错了。
算是提供一种解决该问题的思路吧,分享下