Flex向后台传递xml

普通情况下我们使用HttpService只是很简单地新建一个Object然后把它Send出去,然后诸如a=1&b=2的的url请求就被发到了Sever端,然后Sever端又默默地把请求转化….在原始时代,这样做好像没什么不妥,甚至在一个Form里面包含大于7条的请求也是乖乖地使用

Var o:Object = new Object();
o.a = 1;
o.b = 2;…
o.z=26;

这样来解决。
嗯。一条请求如此,如果我要同时删除10条数据呢?难不成,发10次请求?失败的话,我们是撤销,还是重发?要是同一个页面要添加10条类似的数据和几条完全不同的数据呢?你的HttpService又应该如何设计?用For循环的事件链吗?失败了又怎么办?设置标志位好像很好玩~

但是xml出现了,我们为什么不把xml在Flex的华丽持续延续下去,并且在服务器端进行更加舒坦的xml解析?我们来延续xml的华丽吧!

话不多说,我们新建一个工程,来尝试一下xml的威力…

我们先很不责任地拖一个Hbox,里面嵌套五个Vbox。每个Vbox里面又有三个TextInput。

然后分别给它们命名为name1,count1,total1,第二个vbox里面就为name2,count2,total2…依此类推。

然后我们在MX:Application的标签下定义一个XML的数据模型并且对里面的内容进行数据绑定…

<mx:XML id="AddXML" format="e4x">
<request>
<item id="1">
<name>{name1.text}</name>
<count>{count1.text}</count>
<TotalPrice>{TotalPrice1.text}</TotalPrice>
</item>

<item id="2">
<name>{name2.text}</name>
<count>{count2.text}</count>
<TotalPrice>{TotalPrice2.text}</TotalPrice>
</item>

<item id="3">
<name>{name3.text}</name>
<count>{count3.text}</count>
<TotalPrice>{TotalPrice3.text}</TotalPrice>
</item>

<item id="4">
<name>{name4.text}</name>
<count>{count4.text}</count>
<TotalPrice>{TotalPrice4.text}</TotalPrice>
</item>

<item id="5">
<name>{name5.text}</name>
<count>{count5.text}</count>
<TotalPrice>{TotalPrice5.text}</TotalPrice>
</item>

</request>

</mx:XML>


跟着我们加入<script>字段:时间有限,请参照下面代码:

<mx:Script>
<![CDATA[
import mx.rpc.http.mxml.HTTPService;
public var abs:HTTPService;

public function init():void
{
abs = new HTTPService();
abs.url="http://192.168.0.1:88/Web/admin/xml";
abs.method="POST";
abs.contentType="application/xml";
abs.send(AddXML);
}
]]>
</mx:Script>

需要注意的就是我这里使用了POST的方法和设定了它的contentType为XML。设定了这个的话我们就可以对Sever端发送XML数据了。

From http://shang.iteye.com/blog/419901
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值