`

Extjs form.submit()提交与Ext.Ajax.request的区别

阅读更多

 之前总是封不起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('提示', "操作失败:输入非法字符!!!");
								}
							});

 

  • 大小: 56.5 KB
  • 大小: 44.2 KB
  • 大小: 73.7 KB
  • 大小: 29.8 KB
分享到:
评论

相关推荐

    ExtJs的Ext.Ajax.request实现waitMsg等待提示效果

    ExtJs提供了Ext.Ajax.request方法来进行Ajax请求,但默认情况下,该方法不支持waitMsg属性,不像fp.form.submit方法提供了waitTitle和waitMsg属性来实现等待提示。为了解决这一限制,我们可以采用Ext.MessageBox的...

    Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别

    总结,`Ext.FormPanel`的`getForm().submit()`更适合处理基于表单的数据提交,它简化了表单数据的处理和验证,而`Ext.Ajax.request`则提供了更高的灵活性,适用于各种HTTP请求,特别是当需要发送非表单数据或处理...

    EXT dojochina ExtAjax表单提交 L9.rar

    此外,EXTJS的`Ext.Ajax`对象还提供了其他方法,如`request()`、`load()`等,可以用于更复杂的异步通信需求。在实际开发中,开发者可以根据具体场景灵活运用这些功能,创建出高效、用户体验优秀的Web应用。

    extjs四种异步提交

    在`saveUser_ajaxSubmit1`函数中,EXT JS提供了`Ext.Ajax.request`方法进行异步提交。你需要手动构建要传递的参数,并设置URL、请求方法(如POST或GET)。在`success`和`failure`回调函数中处理服务器响应。 2. **...

    ext开发_前后台交互

    #### Ext.Ajax.request与form.submit的区别 尽管这两种方法都能实现前后端的数据交换,但它们之间存在一些关键差异。`form.submit()`根据后端返回的JSON数据的`success`字段自动选择成功或失败的回调,同时能处理...

    extjs文档的详细介绍

    本文将详细介绍EXTJS中两种主要的前后台数据传递方法:`Ext.Ajax.request` 和 `FormPanel` 的 `getForm().submit()`。 首先,`Ext.Ajax.request` 是EXTJS提供的一个全局Ajax对象,用于发送异步HTTP请求。它的基本...

    Extjs upload(ext官网例子)

    可以使用`Ext.Ajax.request`或`Ext.form.action.Submit`,设置`method`为`POST`,并使用`params`或`formParams`指定其他非文件数据。 ```javascript var form = this.getForm(); if (form.isValid()) { form....

    Ext登陆login

    8. **AJAX请求**: ExtJS提供了`Ext.Ajax`模块用于发送异步请求。登录时,可能使用`Ext.Ajax.request`方法向服务器发送POST请求,包含用户名和密码。 9. **JSON数据交互**: 服务器返回的响应通常是JSON格式,我们...

    ext文件上传下载

    Ext.Ajax.request({ url: 'download.php', // 获取文件URL的服务器端请求 method: 'GET', success: function (response) { var url = response.responseText; // 假设服务器返回文件的URL downloadFile(url); ...

    ext几个实例

    【EXTJS】Ext.AJAX与FormPanel在登录案例中的应用 EXTJS是一个强大的JavaScript库,主要用于构建富客户端Web应用程序。在EXTJS中,Ext.AJAX和Ext.FormPanel是两个核心组件,它们分别用于异步与服务器进行数据交互和...

    ExtJs ajax提交

    在ExtJS中,Ajax(Asynchronous JavaScript and XML)提交是实现异步数据交互的核心功能,允许用户在不刷新整个页面的情况下与服务器进行数据交换。在本文中,我们将深入探讨ExtJS中的Ajax提交及其相关知识点。 1. ...

    Extjs结合Asp.net文件上传

    通常会使用`Ext.Ajax.request`或`Ext.form.action.Submit`来异步提交数据。 - 服务器端:在ASP.NET中,C#代码会接收到请求,通过`Request.Files`集合获取上传的文件,然后可以保存到服务器的特定位置或者数据库。 ...

    extJS中常用的4种Ajax异步提交方式

    在ExtJS中,有多种方式可以实现Ajax异步提交,这里我们将详细探讨四种常见的方法。 1. **直接使用Ext.Ajax.request方法** 这是最基础的Ajax提交方式,适用于手动封装请求参数的情况。在`saveUser_ajaxSubmit1`函数...

    EXTjs 文件上传(可用)

    EXTjs中的`Ext.Ajax.request`方法可以用来发送异步请求。当用户选择文件并点击“提交”时,可以捕获此事件,将文件数据和相关参数一起发送到服务器: ```javascript form.getForm().on('submit', function(form, ...

    ExtJS4.0下的文件上传方式代码filesupload

    `Ext.Ajax.request`可以用于发送异步请求,设置`useDefaultXhrHeader: false`可以避免与浏览器的默认行为冲突。 4. **数据传输**:在ExtJS中,通常使用FormData对象来封装表单数据,包括文件。通过设置`Ext.Ajax....

    EXTJS 上传组件及示例

    - 上传组件通常与EXTJS的`Ext.form.Panel`配合使用,表单提交通常使用`Ext.Ajax.request`或`form.submit()`方法。 - `Ext.form.Basic`对象用于处理表单验证,确保所有字段都符合要求。 4. **异步上传**: - ...

    Extjs多文件上传

    在多文件上传中,我们会用到`Ext.form.field.File`(文件选择字段)组件,它允许用户选择本地文件,并通过Ajax方式提交到服务器。 实现多文件上传的步骤如下: 1. 创建表单:首先,我们需要创建一个包含文件选择...

    ext多文件上传

    EXTJS的`Ext.Ajax.request`方法可以用于发送HTTP请求。在上传过程中,我们需要使用`FormData`对象来封装文件数据,并将其附加到请求中。示例代码如下: ```javascript formPanel.getForm().submit({ url: 'upload....

    ExtJs做的用户登陆!ASP后台

    在ExtJS中,可以使用`Ext.Ajax.request`方法来实现这一功能。登录请求应发送到ASP页面,如`login.asp`,并携带用户名和密码参数: ```javascript loginForm.getForm().submit({ url: 'login.asp', method: 'POST'...

Global site tag (gtag.js) - Google Analytics