JSONValidationInterceptor的一个bug, 返回的json数据竟然被注释了
/* { "fieldErrors": {"password":["密码长度为3-20字符"]}} */
上面就是校验出错时JSONValidationInterceptor返回给我的结果,竟然被/* {} */包围。
这样产生的问题是:使用JQuery这样的ajax框架时,如果设置了返回数据类型dataType=json,? jQuery会自动解析返回的字符串成为json对象,倒霉的是,非良构的json字串会被jQuery忽略掉,从而导致回调方法永远不会被执行。
查看源码发现问题在buildResponse方法中:
?请看
和
即可。