尝试在Flex 3中设置中断时解析错误

时间:2009-03-02 18:53:27

标签: flex http actionscript

我一直试图在我的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()

1 个答案:

答案 0 :(得分:1)

更新:很酷,你已经编译了代码!请尝试以下操作:

  • 如果您有resultFormat=array个对象,请设置array。在数组中获取此值并循环以查看是否可以查看项目。如果这不起作用,请尝试下一个提示。
  • 从HTTPService标记中删除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文件,并告诉我们你有多远。