使用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中输出数据改回原来的写法,结果没问题了。
?
是浏览器缓存的问题么?还是代码部署执行的问题?问题一直没有再出现,有遇到的可以解释一下么?