之前总是封不起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('提示', "操作失败:输入非法字符!!!"); } });
相关推荐
ExtJs提供了Ext.Ajax.request方法来进行Ajax请求,但默认情况下,该方法不支持waitMsg属性,不像fp.form.submit方法提供了waitTitle和waitMsg属性来实现等待提示。为了解决这一限制,我们可以采用Ext.MessageBox的...
总结,`Ext.FormPanel`的`getForm().submit()`更适合处理基于表单的数据提交,它简化了表单数据的处理和验证,而`Ext.Ajax.request`则提供了更高的灵活性,适用于各种HTTP请求,特别是当需要发送非表单数据或处理...
此外,EXTJS的`Ext.Ajax`对象还提供了其他方法,如`request()`、`load()`等,可以用于更复杂的异步通信需求。在实际开发中,开发者可以根据具体场景灵活运用这些功能,创建出高效、用户体验优秀的Web应用。
在`saveUser_ajaxSubmit1`函数中,EXT JS提供了`Ext.Ajax.request`方法进行异步提交。你需要手动构建要传递的参数,并设置URL、请求方法(如POST或GET)。在`success`和`failure`回调函数中处理服务器响应。 2. **...
#### Ext.Ajax.request与form.submit的区别 尽管这两种方法都能实现前后端的数据交换,但它们之间存在一些关键差异。`form.submit()`根据后端返回的JSON数据的`success`字段自动选择成功或失败的回调,同时能处理...
本文将详细介绍EXTJS中两种主要的前后台数据传递方法:`Ext.Ajax.request` 和 `FormPanel` 的 `getForm().submit()`。 首先,`Ext.Ajax.request` 是EXTJS提供的一个全局Ajax对象,用于发送异步HTTP请求。它的基本...
可以使用`Ext.Ajax.request`或`Ext.form.action.Submit`,设置`method`为`POST`,并使用`params`或`formParams`指定其他非文件数据。 ```javascript var form = this.getForm(); if (form.isValid()) { form....
8. **AJAX请求**: ExtJS提供了`Ext.Ajax`模块用于发送异步请求。登录时,可能使用`Ext.Ajax.request`方法向服务器发送POST请求,包含用户名和密码。 9. **JSON数据交互**: 服务器返回的响应通常是JSON格式,我们...
Ext.Ajax.request({ url: 'download.php', // 获取文件URL的服务器端请求 method: 'GET', success: function (response) { var url = response.responseText; // 假设服务器返回文件的URL downloadFile(url); ...
【EXTJS】Ext.AJAX与FormPanel在登录案例中的应用 EXTJS是一个强大的JavaScript库,主要用于构建富客户端Web应用程序。在EXTJS中,Ext.AJAX和Ext.FormPanel是两个核心组件,它们分别用于异步与服务器进行数据交互和...
在ExtJS中,Ajax(Asynchronous JavaScript and XML)提交是实现异步数据交互的核心功能,允许用户在不刷新整个页面的情况下与服务器进行数据交换。在本文中,我们将深入探讨ExtJS中的Ajax提交及其相关知识点。 1. ...
通常会使用`Ext.Ajax.request`或`Ext.form.action.Submit`来异步提交数据。 - 服务器端:在ASP.NET中,C#代码会接收到请求,通过`Request.Files`集合获取上传的文件,然后可以保存到服务器的特定位置或者数据库。 ...
在ExtJS中,有多种方式可以实现Ajax异步提交,这里我们将详细探讨四种常见的方法。 1. **直接使用Ext.Ajax.request方法** 这是最基础的Ajax提交方式,适用于手动封装请求参数的情况。在`saveUser_ajaxSubmit1`函数...
EXTjs中的`Ext.Ajax.request`方法可以用来发送异步请求。当用户选择文件并点击“提交”时,可以捕获此事件,将文件数据和相关参数一起发送到服务器: ```javascript form.getForm().on('submit', function(form, ...
`Ext.Ajax.request`可以用于发送异步请求,设置`useDefaultXhrHeader: false`可以避免与浏览器的默认行为冲突。 4. **数据传输**:在ExtJS中,通常使用FormData对象来封装表单数据,包括文件。通过设置`Ext.Ajax....
- 上传组件通常与EXTJS的`Ext.form.Panel`配合使用,表单提交通常使用`Ext.Ajax.request`或`form.submit()`方法。 - `Ext.form.Basic`对象用于处理表单验证,确保所有字段都符合要求。 4. **异步上传**: - ...
在多文件上传中,我们会用到`Ext.form.field.File`(文件选择字段)组件,它允许用户选择本地文件,并通过Ajax方式提交到服务器。 实现多文件上传的步骤如下: 1. 创建表单:首先,我们需要创建一个包含文件选择...
EXTJS的`Ext.Ajax.request`方法可以用于发送HTTP请求。在上传过程中,我们需要使用`FormData`对象来封装文件数据,并将其附加到请求中。示例代码如下: ```javascript formPanel.getForm().submit({ url: 'upload....
在ExtJS中,可以使用`Ext.Ajax.request`方法来实现这一功能。登录请求应发送到ASP页面,如`login.asp`,并携带用户名和密码参数: ```javascript loginForm.getForm().submit({ url: 'login.asp', method: 'POST'...