无法查看amfphp返回的数据

时间:2015-07-22 10:10:14

标签: actionscript-3 flash-cs4 amfphp

我最近在我的win7pro(iis7.x)本地主机上设置了amfphp 2.2.1,希望在phph和Flash之间摆脱XML。我跟着inital' hello world'在amfphp网站上,一切都很棒..它的工作原理。当我尝试查询mySQL数据库时,我的问题就出现了。 我的调试代理说有数据是通过amfphp / index.php(getAvailSvc / getBds)抓取的,它似乎是我期望的数据。当我尝试在Flash中查看该数据时。当我尝试最简单的函数时

function handleResult(respond:Object):void{
    trace(respond);
    }

跟踪给我[object Object],[object Object],[object Object] ... etc

当我编辑跟踪到(respond.serverInfo.initialData)或我的函数来读取对象时:

function handleResult(respond:Object):void{
        var h:Array = respond.serverInfo.initialData;
            for (var i:uint = 0; i < h.length; i++){
                trace (h[i][0]);
                }
    }

我收到以下错误:

TypeError:错误#1010:术语未定义且没有属性。     在amf_fla :: MainTimeline / handleResult()

我在网上搜索并搜索了amfphp tuts和指导,但是大多数(如果不是全部的话)我发现的东西大约是6到7岁,只与mysql_query的东西和amfphp 1.9-有关。如果有人可以提供帮助,如果我只是愚蠢的话,我会提前感谢您的支持和提示。

调试代理输出: enter image description here

@Ariel Sommeria-Klein - 按照建议在这里成长

1 个答案:

答案 0 :(得分:1)

你得到[object Object],[object Object],[object Object],因为你正在接收一个对象数组。在您的AMF对象中,那将是&#34;内容&#34;。 因此,如果您在handleResult函数中尝试以下操作:

trace(respond[0]);
你应该简单地看一下 [object Object]

如果您尝试以下操作:

trace(respond[0].name);
你应该看到 Abbeydale Independent