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的数据模型并且对里面的内容进行数据绑定…
跟着我们加入<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