日期:2014-05-16  浏览次数:20774 次

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。

?