我最近在我的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-有关。如果有人可以提供帮助,如果我只是愚蠢的话,我会提前感谢您的支持和提示。
@Ariel Sommeria-Klein - 按照建议在这里成长
答案 0 :(得分:1)
你得到[object Object],[object Object],[object Object],因为你正在接收一个对象数组。在您的AMF对象中,那将是&#34;内容&#34;。 因此,如果您在handleResult函数中尝试以下操作:
trace(respond[0]);
你应该简单地看一下
[object Object]
如果您尝试以下操作:
trace(respond[0].name);
你应该看到
Abbeydale Independent