读书人

表单交付成功了 但Ext总是调用 failure

发布时间: 2012-10-19 16:53:35 作者: rapoo

表单提交成功了 但Ext总是调用 failure
不知道是哪里错了 前辈多指教

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
[解决办法]
探讨

引用:
失败时应该是用

JScript code
action.result.info

还有失败时应该输入success:false吧?


我是说 后台成功了
out.print("{success:true,info:'修改个人客户 - 日常收入信息成功!'}");
调用了这句
但是在ExtJs中 还是调用了failu……

[解决办法]
先吧输出的JSON字符串中的中文 换成 英文字母 在试验下
[解决办法]
另外在预知状态下后台一般只返回执行状态的码 一般是一个数字

比如修改成功 就返回 {success:true}

前台拿到成功状态 输出什么提示信息 则让前台来考虑 后台就负责实际操作和返回状态码
[解决办法]
你在js上输出传过来的字符串,发上来看看
还有把你引用的一些代码发上来
js的报错没有规律,可能是别的地方有错误关联的,你也可以安装httpwatchpro,自己调试一下
[解决办法]
JScript code
out.print("[{success:true,info:'修改个人客户 - 日常收入信息成功!'}]"); 

读书人网 >JavaScript

热点推荐