记一次RESTful调试过程
1. 为什么前台怎么调用后台,都是跳到页面不存在。
因为已经改为RESTful,保存按钮的type还是submit;
2. 改成buttong之后,设置onclick="update()“,发现还是不走update()函数
因为function定义在了别的函数体里面的,外面当然访问不到了。
3. 莫名其妙的爆“系统发生异常,请联系管理员”,关键断点也不走啊,Network跟踪发现“页面不存在”
@ResponseBody没写:(
另外我发现了调试RESTful异常的神奇,firefox的Network,其实filder也可以,就是可以看到每次请求以及响应的内容,比如上面的这个异常就是通过Network看到了页面不存在异常;一版页面不存在都是因为返回类反馈的页面不规范导致不规范异常;
4. username一致没有赋值成功;
因为username是一个独立属性,在jeesite的框架中赋值给user属性字段;但是手工赋值也不好用;原来用户显示的启示绑定是userId;问题本质是因为在提交的时候,因为没有把userid提交,所以为了调通,临时在代码中赋值userId=0,结果这个值保存到数据库中了;未来再进入到编辑页面,根据这个userid来绑定树种值的时候就没有的显示;所以username一直没有显示出来。
其实只要在提交的时候,增加一个user.id:XXX就可以了。
5. 点击delete,没信了。
onclick绑定的是delete(),这个名称是关键字,换个名称解决。
6. ajax内部调用query()没用?SyntaxError: illegal character,ReferenceError: query is not defined
因为在js函数中有非法字符,中文的“!”(本来是想打英文的!)
7. 突然之间点击查询没反应了,$.each(result.retObj.list, function(key, usermapping){爆的错。
因为没有数据了;这里需要做一个校验。
8. updateMapping is not defined,定义的一个函数为什么告诉找不到呢?
var mappingId = "${mapingid}"; // 之前的写法:var mappingId = ${mapingid}报错
var data={"user.id": $("#userId").val(), "userName":$("#userName").val(), "linuxUser":$("#linuxUser").val(),"id": mappingId}
9. 书接上文,Unrecognized field "user.id" (class com.neusoft.platform.usermapping.entity.SysUserMapping),user.id这种写法不行,要换成user:{id:XXX}才可以;