在今天的編碼過程中我發現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。。如有理解不對,請直接指出。。