日期:2014-05-16  浏览次数:20351 次

ExtJS4 button提交表单请求与直接ajax请求的一点小区别

在今天的编码过程中我发现button提交请求与直接ajax请求在返回值上有一点小小的差别

看直接ajax

Ext.Ajax.request({
				url : "../UserSelectAllServlet",

				method : 'POST',
				success : function(response) {

					var json = Ext.JSON.decode(response.responseText);
				   
					//column = new Ext.grid.column.Column(json.columModle);
					//alert(json.data[2].id);
					var store = Ext.create('Ext.data.Store', {
						fields : json.fields,
						data : json.data

					});

					Ext.getCmp("grid_a").reconfigure(store, json.columns);

				}
				});

这段代码请求servlet获得返回值是一个json格式的字符串,必须要用ext.json.decode转码成一个json对象,下面就可以操作该json对象了


再看button的提交表单请求



			form.submit({
						success : function(form, action) {
							//Ext.Msg.alert('Success', action.result.msg);
							//console.log(action.result.log);
							var json = action.result.log;
							

							//column = new Ext.grid.column.Column(json.columModle);
							//alert(json.data[2].id);
							var store = Ext.create('Ext.data.Store', {
								fields : json.fields,
								data : json.data

							});

							Ext.getCmp("grid_a").reconfigure(store,
									json.columns);
							//Ext.getCmp("grid").render();

							grid_a.show();
						}/*,
						failure : function(form, action) {
							Ext.Msg.alert('Failed', "失败");
						}*/
						
					});

这段代码是提交表单的请求,用action.result获得的直接是一个对象,不需要再次转换成json格式。。


鄙人刚学习extjs。。如有理解不对,请直接指出。。