我正在构建一个Flex Mobile应用程序并且我一直收到此错误:
TypeError: Error #1034: Type Coercion failed: cannot convert mx.collections::ArrayCollection@ba39581 to Array.
它说错误发生在这里(在ArrayCollection部分):
<s:List id="invites" x="5" y="295" width="310" change="rowSelected(event)">
<s:dataProvider>
<s:ArrayCollection source="{getInvites.lastResult.Invites.EventTitle}"/>
</s:dataProvider>
</s:List>
“getInvites”HTTPService调用:
<s:HTTPService id="getInvites" result="getInvitesResult(event)" method="POST" url="http://localhost/invite.php" useProxy="false">
<s:request xmlns="">
<method>GET_INVITES</method>
<userID>{my_id.text}</userID>
</s:request>
</s:HTTPService>
我不知道为什么会出现这种错误,而且我一直想弄清楚这个错误2个小时。任何帮助都非常感谢。
还可以访问“invite.php”文件,并且该文件正常工作。
谢谢, 雅各布
答案 0 :(得分:0)
您的远程服务很可能是在getInvites.lastResult.Invites.EventTitle中返回一个数组,该数组与ArrayCollection不同,并且无法即时转换&#34;
你可以试试这个:
<s:List id="invites" x="5" y="295" width="310" change="rowSelected(event)">
<s:dataProvider>
<s:ArrayCollection source="{new ArrayCollection(getInvites.lastResult.Invites.EventTitle)}"/>
</s:dataProvider>
</s:List>
但是,老实说,我强烈建议您为HTTPService调用添加一个正确的结果处理程序并处理结果。