// 方式1:加载编辑数据 loadData : function(id) { var className = portal.menu.EditPanel; // 清空原有的信息 className.fromPanel.getForm().reset(); // 查询加载数据 className.fromPanel.getForm().load({ url : 'menu/findById', method : 'POST', params : { id : id // 提交的数据参数 }, waitTile : '提示', waitMsg : '正在向服务器提交数据', success : function(form, action) { // action.result.msg } }); },
params: 传递参数到后台服务器ajax
success: 成功后调用的方法,这里能够使用action.result.name,快速获取内容,而不用去解析json。json
此方法对于查询详细信息的时候,很是简单。服务器
// 方式2:建立Form手动回填数据,暂不使用,(我的感受比较麻烦) Ajax方式url
initFormData : function(id) { var className = portal.menu.EditPanel; Ext.Ajax.request({ url : 'menu/findById', params : { id : id }, success : function(response) { // 解析服务器端返回的json字符串 var jsonObj = Ext.util.JSON.decode(response.responseText); className.menuName.setValue(jsonObj.menu.menuName); className.parentId.setValue(jsonObj.menu.parentId); className.combo.setValue(jsonObj.menu.r_Type); }, failure : function(options, response) { Ext.Msg.alert("错误", "查询失败!"); } }); },
Ext.Ajax.request() 这里使用的是ajax提交方式,code
params:封装的参数和form.load()方法同样。orm
success: 须要经过
字符串
var jsonObj = Ext.util.JSON.decode(response.responseText);
方式解析服务器返回的json数据。get
failure:查询失败的方法。
it
// 方式3:form提交数据io
// form提交数据 className.fromPanel.getForm().submit( { url : 'menu/saveMenu', method : 'POST', waitTitle : "提示", waitMsg : '正在提交数据...', success : function(form, action) { // 服务器端返回的是字符串须要封装为jsonObject // var result = // Ext.util.JSON.decode(action.response.responseText); alert("保存成功!"); // 关闭新增页面 className.editPanel.close(); // 从新加载列表数据 qryClass.loadData(); // 刷新树,获取根节点reload // treeClass.wPanel.getRootNode().reload(); // 刷新菜单树 treeClass.wPanel.getSelectionModel() .getSelectedNode().reload(); }, failure : function(form, action) { // alert("保存失败"); } });
1.form提交后,服务器返回的消息也须要json解析。