在今天的编码过程中我发现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。。如有理解不对,请直接指出。。