将复杂对象从Flex发送到PHP

时间:2012-04-11 14:46:01

标签: php actionscript-3 flex

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

2 个答案:

答案 0 :(得分:0)

我相信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 );

答案 1 :(得分:0)

我强烈建议使用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