使用ajax发送复杂对象的好方法?

时间:2009-08-28 01:07:04

标签: php ajax json

在我的网络应用程序中,我有一些用JavaScript编写的复杂对象(即嵌套数组,带对象的对象内的对象等),我的应用程序的性质依赖于这些。我需要将所有数据发送到PHP,以便我可以将其保存到数据库中。将对象发送到PHP的有效,简单的方法是什么?我尝试过JSON,但是遇到了“过多的递归”等奇怪的错误,我猜这意味着我的对象太复杂了。那么有一个很好的脚本库可以做到这一点吗?提前谢谢。

编辑:

那么JSON呢。我尝试更新JSON库无济于事,我现在正在寻找循环引用。

3 个答案:

答案 0 :(得分:5)

JSON 正确的答案。

我怀疑您的JSON库已损坏或限制太多。检查JSON以查看它是否格式正确,如果是,请找到一个更好的库来处理您的数据结构。

还要考虑简化数据结构。这对你自己的好处来说可能太复杂了。

答案 1 :(得分:2)

如果您的对象具有循环引用,那么几乎任何JSON库都会有太多的递归错误。我尝试的javascript实现的递归限制远远超过~100级,所以你的对象必须真的复杂。

在尝试使用任何类型的库序列化对象之前,您需要检测并消除循环引用。

编辑:刚刚测试了Firefox 3.5,它在3000级递归时达到顶峰。

答案 2 :(得分:1)

我同意 - JSON就是答案。我认为您遇到的错误可能是您正在使用的库的一部分......

http://markmail.org/message/2d5lvmdeg2qg55qr

提到同样的错误。

我使用了许多复杂的JSON对象,从未遇到过这个错误 - 我会说其他的东西在起作用。