?之前总是封不起Extjs中form.submit()提交与Ext.Ajax.request()的区别,现在仍是分不清,但是知道怎么用不会出错了。
方案1:
java action中的代码
String datastring = "total : " + rehpage.getCount() + ", root : ["; if (rehpage != null) { datastring += buildJsonByPage(rehpage); } datastring = datastring + "]"; StringBuffer buff = new StringBuffer("{success:true,mes:{"); buff.append(datastring); buff.append("}}"); System.out.println("datastring is: " + buff.toString()); request.setAttribute("responseText", buff.toString().replaceAll("\r\n", " ").replaceAll("\n", " "));// 将拼接好的数据放到request return SUCCESS;
?对用的Extjs中的代码为:
Ext.Ajax.request({ url : "./rehearsal/queryTableData.action", params : { search_place : rehearsal_place, search_time : dt .format('Y-m-d'), search_valuation : null, search_subject : search_subject }, waitMsg : '正在提交数据', waitTitle : '提示', method : "POST", success : function(response) { var respText = Ext.util.JSON .decode(response.responseText); if (respText.success) { szcdc_rehearsal_one_grid .getStore() .loadData(respText.mes); } }, failure : function(response) { Ext.Msg.alert('提示', "操作失败:输入非法字符!!!"); } }); }
?方案2:
java action中的代码是:
?
String datastring = "total : " + rehpage.getCount() + ", root : ["; if (rehpage != null) { datastring += buildJsonByPage(rehpage); } datastring = datastring + "]"; StringBuffer buff = new StringBuffer("{success:true,"); buff.append(datastring); buff.append("}"); System.out.println("datastring is: " + buff.toString()); request.setAttribute("responseText", buff.toString().replaceAll("\r\n", " ").replaceAll("\n", " "));// 将拼接好的数据放到request return SUCCESS;
?对应的Extjs代码为:
search_form.submit({ url : "./rehearsal/queryTableData.action", baseParams : { search_place : rehearsal_place, search_time : search_time, search_valuation : search_valuation, search_subject : search_subject }, waitMsg : '正在提交数据', waitTitle : '提示', method : "POST", success : function(form, action) { // 得到数据 var result = Ext.util.JSON .decode(action.response.responseText);// 就可以取出来。如果是数组,那么很简单 // 把数据放到结果里面 szcdc_rehearsal_one_grid.getStore() .loadData(result); }, failure : function(form, action) { Ext.Msg.alert('提示', "操作失败:输入非法字符!!!"); } });?