`
XiaoFan012
  • 浏览: 15874 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ext.Ajax.request的参数组装(Ext2.0)

阅读更多

结合最近的开发经历,对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.request2.x实现同步请求

    总结来说,`Ext.Ajax.request`在EXTJS中是进行Ajax通信的关键工具,通过调整其配置参数,我们可以实现同步请求。尽管同步请求有其应用场景,但应谨慎使用,以避免对用户体验造成负面影响。在EXTJS 2.x这样的老版本中...

    Ext.Ajax.request跨域

    标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...

    Ext.Ajax.request 小问题收集

    这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小问题。 首先,`Ext.Ajax.request`的基本语法如下: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // 可选值有...

    ext-basex.js 进行Ext.Ajax.request 同步请求 FF无法正常

    然而,当设置`async: false`参数时,`Ext.Ajax.request`将变为同步请求。同步请求会使得浏览器在等待服务器响应之前挂起,直到收到回应或请求超时。这种方式在某些场景下是有用的,比如在需要确保数据加载完成后再...

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

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

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

    (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进行处理.doc

    Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理

    使用Ext2.0的Ajax连接ArcIMS例子

    2. **Ext.Ajax.request**:Ext2.0框架提供的一个强大的Ajax请求方法,可以方便地发送请求并处理响应。 3. **跨浏览器兼容性**:通过检测不同浏览器支持的特性来选择合适的XMLHttpRequest实现方式。 #### 五、总结 ...

    Ext ajax 上传文件

    Ext.Ajax.request({ url: 'upload.php', // 文件上传的服务器端处理程序 method: 'POST', useXhrUpload: true, headers: { 'Content-Type': undefined }, // 必须取消Content-Type以让浏览器自动设置 params: ...

    Ext2.0.2的Ajax请求拦截示例

    Ext.Ajax.request({ url: 'your_server_url', method: 'POST', beforeSend: function(xhr, options) { // 在这里可以添加预处理逻辑,例如验证数据、修改请求头等 console.log('Before sending the request'); ...

    Ext3.1 Ajax 精简包以及使用方法

    3. **发送数据:** 在`Ext.Ajax.request`中,可以通过`params`字段传递数据,或者使用`jsonData`、`xmlData`等字段直接传入JSON或XML格式的数据。 4. **处理响应:** 成功或失败的回调函数接收两个参数,分别是响应...

    extjs ajax同步请求所需js

    在使用`Ext.Ajax.request`方法时,设置`async`参数为`false`可以使请求变为同步。例如: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', async: false, // 设置为false表示同步请求 ...

    ExtJs选中var editor = new Ext.ux.grid.RowEditor详解

    Ext.Ajax.request({ url: "updateuser.aspx", params: { data: Ext.encode(record.data), // 将数据编码成字符串形式 id: record.id }, success: function() { alert(10); } }); grid.getView().refresh...

    Ext+JSP实现数据提交

    3. **Ajax请求**:使用`Ext.Ajax.request`方法发起异步请求,该方法支持POST或GET方式提交数据。在`action.js`中,可以配置请求的URL(如`action.html`),数据类型,以及成功或失败的回调函数。 4. **服务器端处理...

    深入浅出Ext_JS:数据存储与传输

    Ext.data.Connection是Ext.lib.Ajax的封装,提供了更高级别的API,便于进行Ajax请求。它是HttpProxy和ScriptTagProxy等代理类的基础,用于与后台进行异步数据交换。通过Connection,开发者可以更简单地配置和执行...

    ExtJS对Ajax的支持

    `Ext.Ajax.request`方法是Ext.Ajax中最常用的功能,它允许开发者以配置参数的形式发送异步请求。这种方法简化了Ajax请求的过程,开发者只需提供请求URL、请求类型(默认为GET)、请求参数、回调函数等信息即可发起...

    ext 前后台数据交互

    Ext前后台数据交互是通过Ext.data.Connection组件和Ext.Ajax.request方法来实现的。该方式可以将前台的请求发送到后台,并将后台的响应返回到前台。同时,我们可以使用Asp.NET后台来处理前台发送的请求,并将处理...

Global site tag (gtag.js) - Google Analytics