结合最近的开发经历,对Ext.Ajax.request参数params组装方式做个小结。
function addFormParam(arrObj,key,value)
{
arrObj[arrObj.length]=key+":"+"'"+value+"'";
return arrObj;
}
function packFormParam(arrObj)
{
var resultStr="";
for(var i=0;i<arrObj.length;i=i+1){
resultStr += arrObj[i]+"," ;
}
resultStr = resultStr.substring(0,resultStr.length-1);
eval( "var rtnObj="+"{"+resultStr+"};" );
return rtnObj;
}
var formArr=new Array();
addFormParam(formArr,"function_id","20268");
addFormParam(formArr,"vc_position_str", p_str);
addFormParam(formArr,"l_request_num", 5000);
addFormParam(formArr,"l_index_no",indexId);
Ext.Ajax.request({url:'../mantenance.action',params:packFormParam(formArr),method:'post',success:callback});
即将参数放在一个数组中,最终转化成Json对象
Ext.Ajax.request({
method : 'post',
url : '../../ext/mantenance.action',
method : 'post',
params: {function_id: '20267',l_index_no: newIndexId,l_action_in:'1',vc_user_nos: Ext.getCmp("vc_user_no").getValue()} ,
success : callback
});
直接组装成Json对象
function addObjParam(obj,key,value){
obj[key]=value;
return obj;
}
function changeStatus() {
var formArr = {};
addObjParam(formArr,"function_id","20067");
addObjParam(formArr,"c_status",Ext.getCmp("c_status").getValue());
addObjParam(formArr,"l_date",sendDate);
Ext.Ajax.request({url:'../../ext/mantenance.action',params:formArr,method:'post',success:callback});
将参数放到对象中,给对象增加属性-值对,直接传对象
以下内容为网络摘抄:
Ext.Ajax.rquest( [Object options] ) : Number
服务器的响应是异步的,因此需要在回调函数中处理服务器端返回的数据。回调函数可以定义在request方法调用的参数options中。另外,在request方法中可以定义Ajax请求的一些其它属性。参数options是一个对象,该对象包含了Ajax请求所需的各种参数及回调处理参数等。options中可以包含的各个属性及含义如下所示:
url String 指定要请求的服务器端url,默认值为Ajax对象中配置的URL参数值。
params Object/String/Function 指定要传递的参数,可以是一个包含参数名称及值的对象,也可以是name=xx&birthday=1978-1-1类似的url编码字符串,或者是一个能返回上述两种内容的函数。
method String 指定发送Ajax请求使用的method,可以是GET或POST方式。默认情况下,如果请求中没有传递任何参数则使用GET,否则使用POST。
callback Function 指定Ajax请求的回调函数,该函数不管是调用成功或失败,都会执行。传递给回调函数的参数有三个,第一个options表示执行request方法时的参数,第二个success表示请求是否成功,第三个参数response表示用来执行Ajax请求的XMLHttpRequest 对象。关于XMLHttpRequest可以通过http://www.w3.org/TR/XMLHttpRequest/查询详细的信息。
success Function 指定当Ajax请求执行成功后执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
failure Function 指定当请求出现错误时执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
scope Object 指定回调函数的作用域,默认为浏览器window。
form Object/String 指定要提交的表单id或表单数据对象。
isUpload Boolean 指定要提交的表单是否是文件上传表单,默认情况下会自动检查。
headers Object 指定请求的Header信息。
xmlData Object 指定用于发送给服务器的xml文档,如果指定了该属性则其它地方设置的参数将无效。
jsonData Object/String 指定需要发送给服务器端的JSON数据。如果指定了该属性则其它的地方设置的要发送的参数值将无效。
disableCaching Boolean 是否禁止cache。
分享到:
相关推荐
总结来说,`Ext.Ajax.request`在EXTJS中是进行Ajax通信的关键工具,通过调整其配置参数,我们可以实现同步请求。尽管同步请求有其应用场景,但应谨慎使用,以避免对用户体验造成负面影响。在EXTJS 2.x这样的老版本中...
标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...
这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小问题。 首先,`Ext.Ajax.request`的基本语法如下: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // 可选值有...
然而,当设置`async: false`参数时,`Ext.Ajax.request`将变为同步请求。同步请求会使得浏览器在等待服务器响应之前挂起,直到收到回应或请求超时。这种方式在某些场景下是有用的,比如在需要确保数据加载完成后再...
ExtJs提供了Ext.Ajax.request方法来进行Ajax请求,但默认情况下,该方法不支持waitMsg属性,不像fp.form.submit方法提供了waitTitle和waitMsg属性来实现等待提示。为了解决这一限制,我们可以采用Ext.MessageBox的...
(1)Ext.FormPanel f.getForm().submit({ url:”... }, failure:function(c,v,e){} }) (2)Ext.Ajax.request Ext.Ajax.request({ url:”….”, params:{XX:xx….}, success: function (v,c) { var json=Ext.decode(v.r
Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理
Ext.Ajax.request 方法是 ExtJS 框架中用于执行 Ajax 请求的核心功能之一,它允许开发者轻松地向服务器发起异步请求并处理响应结果。此方法提供了非常丰富的配置选项,能够满足大多数情况下对于 Ajax 通信的需求。 ...
2. **Ext.Ajax.request**:Ext2.0框架提供的一个强大的Ajax请求方法,可以方便地发送请求并处理响应。 3. **跨浏览器兼容性**:通过检测不同浏览器支持的特性来选择合适的XMLHttpRequest实现方式。 #### 五、总结 ...
Ext.Ajax.request({ url: 'upload.php', // 文件上传的服务器端处理程序 method: 'POST', useXhrUpload: true, headers: { 'Content-Type': undefined }, // 必须取消Content-Type以让浏览器自动设置 params: ...
Ext.Ajax.request({ url: 'your_server_url', method: 'POST', beforeSend: function(xhr, options) { // 在这里可以添加预处理逻辑,例如验证数据、修改请求头等 console.log('Before sending the request'); ...
3. **发送数据:** 在`Ext.Ajax.request`中,可以通过`params`字段传递数据,或者使用`jsonData`、`xmlData`等字段直接传入JSON或XML格式的数据。 4. **处理响应:** 成功或失败的回调函数接收两个参数,分别是响应...
在使用`Ext.Ajax.request`方法时,设置`async`参数为`false`可以使请求变为同步。例如: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', async: false, // 设置为false表示同步请求 ...
3. **Ajax请求**:使用`Ext.Ajax.request`方法发起异步请求,该方法支持POST或GET方式提交数据。在`action.js`中,可以配置请求的URL(如`action.html`),数据类型,以及成功或失败的回调函数。 4. **服务器端处理...
Ext.data.Connection是Ext.lib.Ajax的封装,提供了更高级别的API,便于进行Ajax请求。它是HttpProxy和ScriptTagProxy等代理类的基础,用于与后台进行异步数据交换。通过Connection,开发者可以更简单地配置和执行...
`Ext.Ajax.request`方法是Ext.Ajax中最常用的功能,它允许开发者以配置参数的形式发送异步请求。这种方法简化了Ajax请求的过程,开发者只需提供请求URL、请求类型(默认为GET)、请求参数、回调函数等信息即可发起...
Ext前后台数据交互是通过Ext.data.Connection组件和Ext.Ajax.request方法来实现的。该方式可以将前台的请求发送到后台,并将后台的响应返回到前台。同时,我们可以使用Asp.NET后台来处理前台发送的请求,并将处理...
Ext.AJAX.Request常用参数** - **url**: 服务器端接口地址。 - **params**: 请求参数,以键值对形式传递。 - **method**: HTTP请求方法,通常是GET或POST。 - **callback**: 接收响应后执行的函数,无论成功或失败...