将复杂对象从 Flex 发送到 PHP


Send Complex Object FROM Flex to PHP

我希望能够将复杂的数据从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