flex 中通过httpservice 向后台请求的3中方式

本文介绍了在Flex中通过HTTPSERVICE组件向后台发起请求的三种方法:1) 在<s:HTTPService>标签内使用<s:request>设置参数;2) 利用send()方法直接在AS代码中传递参数。对于后台接收,可以使用request.getParameter('参数名')获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种:

 在 <s:HTTPService >标签, 通过 <s:request > 与后台交互,可以对 <s:request >进行设置,向后台传递参数

 

	<s:HTTPService id="deleteResource2" 
					   url="{deleteResource2_url}" 
					   result="deleteResource2_resultHandler(event)"
					   showBusyCursor="true">
			<s:request xmlns="">
				<id>
				</id>
			</s:request>
		</s:HTTPService>
  HTTPService 中,id:表示HTTPService 对象的id ;url:表示当调用send()方法时,向有效的后台URL接口发送请求;result:当 HTTPService 调用成功返回时分派;

 <s:request xmlns="">
<id>
</id>
  </s:request>

<!--参数名称作标签,中间填充参数值-->   当前request 请求,向后台发送的参数是 id,


//点击删除按钮,并确定删除后,开始请求了

public function deletecollect():void
			{
				var zymc:String = collectDG.selectedItem.zymc;
				Alert.show("确认删除名称为'" + zymc +"'的资料吗?","提示信息",Alert.YES|Alert.NO,this,confirmHandler,iconQuestion,Alert.NO);
				
			}
			
			protected function confirmHandler(dlgObj:Object):void
			{
				if(dlgObj.detail == Alert.YES) {
					var zybh:int = collectDG.selectedItem.id;
					deleteResource2.request.id = zybh;
					deleteResource2.send();               //当调用send时,将request 标签的id参数发送
					
					var i:int = collectDG.selectedIndex;
					collectDP.removeItemAt(i);
				}
			}



第二种:

第二种传值方式通过send()方法传值send方法中传递参数 ,服务端接受数据采用request.getParmeter("参数名")获取数据.

 

 //调用
            protected function button1_clickHandler(event:MouseEvent):void
            {
                //第一种传值方式                
                //service.send();
                
                //第二种传值方式 通过send()方法传值 send方法中传递参数 
                //定义一object对象
                var val:Object=new Object();
                //分别将文本框username,password的值传递到后台
                //object对象.参数名=值   传值操作
                val.username=txtusername.text;
                val.password=txtpassword.text;
                service.send(val);
            }

    第三种

    直接在 as程序中创建HTTPService对象,并设置请求方法 method, 向后台请求的 接口url, 调用send 方法发送请求,然后判断请求的结果是否成功

	protected function confirmHandler(dlgObj:Object):void
			{
				if(dlgObj.detail == Alert.YES) {
					var id:String=jxnr.selectedItem.zlid;
					
					var configService:HTTPService = new HTTPService(); 
					configService.method="POST";
					configService.useProxy=false;
					configService.url = "http://"+strURL+"/delZiliao.action?no="+id;
					configService.send();
					configService.addEventListener(ResultEvent.RESULT,deleteResource2_resultHandler);//访问成功
					configService.addEventListener(FaultEvent.FAULT, http_fault);//访问失败
					
					var i:int = jxnr.selectedIndex;
					this.dataPro.removeItemAt(i);
					
				}
			}

protected function deleteResource2_resultHandler(event:ResultEvent):void
			{
				
				
			}

protected function http_fault(event:FaultEvent):void{
				var alert:Alert=Alert.show("服务器错误!");
				callLater (alert.move, [newX, newY]); 
			}












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值