不知道是哪里错了 前辈多指教
Ejb里的代码:
- JScript code
//表单提交.. modifyRcsrForm.getForm().submit({ waitMsg : '正在修改个人客户 - 日常收入信息,请稍后......', success : function(form, action) {//成功 Ext.MessageBox.alert('提示','修改个人客户 - 日常收入信息成功!',function(){ modifyRcsrWindow.hide(); modifyRcsrForm.getForm().reset(); modifyRcsrForm.getForm().setValues({flag:'2'}); rcsrInfoStore.load({params : { start : 0, limit : 20 }}); }); }, failure : function(form, action) {//失败 Ext.MessageBox.alert('警告', '修改个人客户 - 日常收入信息失败! ' + action.info ); } });
后台java代码:
返回的是 success:true 可是页面调用的还是 failure
action.info 这个好象也获得不到..
- Java code
if(currencyBuf == null){ log.info("修改个人客户 - 日常收入信息失败,currencyBuf返回值为空!: " + flag ); //失败返回的值 out.print("{failure:true,info:'修改个人客户 - 日常收入信息失败:未知的错误信息!'}"); } else { result = currencyBuf.getResult(); if(result == PubData.Succ){ log.info("修改个人客户 - 日常收入信息成功: " + flag ); //成功返回的值 已经返回成功了 但是页面上总是转到 failure out.print("{success:true,info:'修改个人客户 - 日常收入信息成功!'}"); } else { if(currencyBuf.getAddword() == null){ log.error("修改个人客户 - 日常收入信息失败,currencyBuf.getAddword()值为空!: " + flag ); //失败返回的值 out.print("{failure:true,info:'修改个人客户 - 日常收入信息失败:未知的错误信息!'}"); } else { log.error("修改个人客户 - 日常收入信息失败!: " + flag + currencyBuf.getAddword()); //失败返回的值 out.print("{failure:true,info:'修改个人客户 - 日常收入信息失败! " + currencyBuf.getAddword() + "'}"); } } } return null;
------解决方案--------------------
失败时应该是用
- JScript code
action.result.info
------解决方案--------------------
------解决方案--------------------
先吧输出的JSON字符串中的中文 换成 英文字母 在试验下
------解决方案--------------------
另外在预知状态下后台一般只返回执行状态的码 一般是一个数字
比如修改成功 就返回 {success:true}
前台拿到成功状态 输出什么提示信息 则让前台来考虑 后台就负责实际操作和返回状态码
------解决方案--------------------
你在js上输出传过来的字符串,发上来看看
还有把你引用的一些代码发上来
js的报错没有规律,可能是别的地方有错误关联的,你也可以安装httpwatchpro,自己调试一下
------解决方案--------------------
- JScript code
out.print("[{success:true,info:'修改个人客户 - 日常收入信息成功!'}]");