当前位置: 代码迷 >> Web前端 >> Ext开发有关问题记录(一)Form提交执行有关问题
  详细解决方案

Ext开发有关问题记录(一)Form提交执行有关问题

热度:112   发布时间:2012-09-13 09:51:53.0
Ext开发问题记录(一)Form提交执行问题

使用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中输出数据改回原来的写法,结果没问题了。

?

是浏览器缓存的问题么?还是代码部署执行的问题?问题一直没有再出现,有遇到的可以解释一下么?

  相关解决方案