Extjs 多个参数传递

ajax有个属性是:params ,可以把前台的参数传递到后台去,实际中也许会传递多个参数,

haha 我尝试了多次,我第一次得想法很怪异我在ajax下 写了两个params 结果不报错直接显示空白了。。

第二次我在params后面写了“,”用逗号隔开两个参数,虽然比第一个次得想法有味道,不过还是显示空白。

可以用这种方式传递多个参数:

js代码:

	,updateColumnFn:function(btn){
		var obj=this.getSelectedRowPK(); 	//获得所选择行PK
		var me=this;
	 	var selCount=this.getSelectionModel().getCount();	//獲得選擇的紀錄數
	 if(btn=='yes'){
	        Ext.MessageBox.prompt("更改領料單頭","單號:",function(bt,text){
	        obj.refId=text; 	//获得文本框中输入的值
	        if(bt=='ok'){
	        	//Ext.MessageBox.wait("系統正在更新,請稍後...");
	        	Ext.Ajax.request({
	        		url:"BarCode/updateRefId.action"
	        		,success:me.afterExecuteUpdateRecIdSuccess
	        		,timeout:10000
	        		,scope:this
	        		,params:obj
	        	});
	        } 
	      });
	    }
	}

定义一个对象,要传递的参数放置到对象里面去,把对象传过去,OK了,在java中有句话很经典:一切皆对象。看来我对象的思想还没有根深蒂固!。。。


对于传过去的参数后台可以这么接受:

	/* 函數 updateInfo
	 * 功能 根據用戶選行編號,更新用戶修改的單號,
	 * 參數 1:用戶所選取行對應的PK (int)
	 *     2:用戶更改的單號信息 (String)
	 * */
	@SuppressWarnings("unchecked")
	@RequestMapping(value="BarCode/updateRefId.action")
	public @ResponseBody Map<String,Object> updateInfo(HttpServletRequest request){
		Map<String,Object>map=new HashMap<String,Object>();
				String s[]= (request.getParameter("recId").split(","));
				String refid=request.getParameter("refId");
System.out.println("批量修改后的單號為-------:"+refid);
				for(int i=0;i<s.length;i++){
					int RecId=Integer.parseInt(s[i]);
System.out.println("批量修改的主鍵為---------:"+RecId);
					EL_PickListTable elp=this.el_PickListTableService.selectByRecId(RecId);
					elp.setRefId(refid);
					this.el_PickListTableService.updateInfo(elp);
				}
		map.put("success",true);
		map.put("message","成功更新單號!");
		return map;
	}





你可能感兴趣的:(Ajax,String,object,function,ExtJs,BT)