我一直试图在我的Flex 3项目中设置HTTP中断失败。显然,我对编程完全无能为力,而且我没有很多参考资料。当我尝试导出项目时,我收到结果处理程序和var fault字符串的解析错误。我附上了我放置休息时间的代码片段。
<mx:HTTPService id="getData" url="http://www.myurl.com"
useProxy="false" method="GET" resultFormat="text" resultType="text"
result="resultHandler(event)" fault="faultHandler(event)">
private function resultHandler(e:ResultEvent):void {
trace(e.result);
}
private function resultHandler(e:FaultEvent):void {
var faultstring:String = event.fault.faultString;
Alert.show(faultstring);
}
<mx:request xmlns="">
<getTutorials>"true"</getTutorials>
</mx:request>
我认为这可能与PHP文件和Flex正在寻找的数据类型有关?这是我在浏览器中收到的错误的第一位。
TypeError:错误#1034:类型强制失败:无法转换“[{”id“:”2“,”name“:”Strapless Wedding Dress Tips“,”author“:”Ramona Waters“,”rating“: “0”},{“id”:“3”,“name”:“协调你的新娘女佣”,“作者”:“Ericka Brown”,“rating”:“0”}]“to mx.controls.Alert 。 在DressBuilder2 / resultHandler() 在DressBuilder2 / __ getData_result() 在flash.events::EventDispatcher/dispatchEventFunction() 在flash.events :::EventDispatcher / dispatchEvent()
答案 0 :(得分:1)
更新:很酷,你已经编译了代码!请尝试以下操作:
resultFormat=array
个对象,请设置array
。在数组中获取此值并循环以查看是否可以查看项目。如果这不起作用,请尝试下一个提示。resultFormat
(与将其设置为object
时相同)。见this。 AS中的函数通常位于<mx:Script>
标记内。这是第一件要解决的问题。您还必须导入正在使用的类的定义。看看这里:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" width="535" height="345"
creationComplete="getData.send()">
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.rpc.http.HTTPService;
private function resultHandler(e:ResultEvent):void {
Alert(e.result.toString());
}
private function faultHandler(e:FaultEvent):void {
Alert(e.fault.toString());
}
]]>
</mx:Script>
<mx:HTTPService id="getData" resultFormat="text"
fault="faultHandler(event)" result="resultHandler(event)"
url="http://www.myurl.com"/>
</mx:Application>
尝试使用此MXML文件,并告诉我们你有多远。