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