使用Ext进行开发遇到了一个问题: 在执行了this.form.submit之后,执行结果总是去执行failure方法,而不是success方法。
js代码如下:
this.form.submit( {
url : 'unit/editTuProdDayCw.html',
method : 'post',
scope : this,
waitTitle : '请稍候',
waitMsg : '处理中...',
success : function(form, action) {
this.tuProdDayCwGridPanel.store.reload();
this.tuProdDayCwGridPanel.superTabPanel.remove(this, true);
Ext.MessageBox.alert("提示", "保存成功!");
},
failure : function(form, action) {
Ext.MessageBox.show( {
title : '失败',
msg : '保存失败!<br>',
buttons : Ext.MessageBox.OK,
fn : function() {
},
icon : Ext.MessageBox.ERROR,
scope : this
});
}
});
action执行返回代码:
this.print("{success:true,id:\"" + this.tuProdDayCw.getId() + "\"}");
在执行请求的时候,断点调试,action中success:true输出代码也执行了,未发生任何异常错误,数据也插入到数据库中。
但是结果一直在执行failure方法。![]()
和以前的代码比对了一下,也都完全一致,其他的功能都能正常执行。
求助于百度,解决方法均为success结果未返回,导致ext认为该次请求执行失败。有一个回帖中,将success:true中的true加了单引号。死马当做活马医,权且试试。结果......ok了。更加郁闷。以前一直那么些也没有错,为什么这次就不行?
不死心,又把action中输出数据改回原来的写法,结果没问题了。
是浏览器缓存的问题么?还是代码部署执行的问题?问题一直没有再出现,有遇到的可以解释一下么?
在使用ExtJS框架开发过程中,遇到表单提交后始终触发failure回调而非success回调的问题。即使服务器端返回了正确的success:true,问题依旧存在,直至尝试将true改为'true'才得以解决。
3315

被折叠的 条评论
为什么被折叠?



