我希望能够将复杂的数据从Flex发送到PHP,并能够通过PHP脚本解析该数据。我能够发送一个基本的键值对对象,但任何比这更复杂的对象都不会相应地转换。
这行得通...
ht.send({label:"FOO", label2:"FAA", label3:"FII", label4:"FEE"});
它按预期翻译
这行不通...
ht.send({obj11:{label:"FOO", label2:"FAA"}, obj2:{label3:"FII", label4:"FEE"}});
它作为字符串[object][object]
发布。
是否可以将复杂数据发送到 PHP?我试过JSON.encode(object)
.我是否需要改为发送 XML?
我相信 Json 不起作用,因为您没有正确设置
var myComplexObject:Object ={obj11:{label:"FOO", label2:"FAA"}, obj2:{label3:"FII", label4:"FEE"}}
var dataToSend:Object = { data: JSON.encode(myComplexObject) }
ht.send(dataToSend);
// on the php side you will have something like so
$data = json_decode( $_POST['data'] );
echo '<pre>';
print_r( $data );
我强烈建议使用AMF而不是JSON,因为它在Flex中是原生支持的。
如果您正在使用大型数据集,我发现 AMF 更有效,但归根结底,它归结为您最熟悉的内容。不过,AMF在Flex中会更容易使用。
有趣的阅读:
http://web.archive.org/web/20090129160211/http://www.5etdemi.com/blog/archives/2006/12/clearing-the-fud-on-amfphps-speed-versus-json-and-xml/
http://web.archive.org/web/20090210160254/http://blogs.adobe.com/mikepotter/2006/07/php_and_flex_js.html