11

我在 Navigator 对象的序列化过程中收到 RangeError。

可能是什么原因?

JSON.stringify(navigator);
RangeError: Maximum call stack size exceeded

浏览器:铬 在此处输入图像描述

4

3 回答 3

3

这是因为,正如错误消息所说,navigator对象太大了。

您可以像这样使用dystroy修改后的JSON函数

var navJSON = JSON.pruned(navigator);

返回的对象非常大,但几乎可以肯定它并不完全正确。如果您想navigator使用 JSON 传输有关对象的数据,您应该只发送这些属性,而不是整个对象。

于 2013-01-12T08:03:12.040 回答
1

为什么不将您感兴趣的特定值复制到一个新对象,然后将其序列化呢?

也许它找到了导致无限循环的属性。

于 2013-01-12T08:08:46.593 回答
1

也许导航器对象包含自链接。您应该在其他对象中复制导航器并删除它们上的大链接。

于 2013-01-12T08:15:11.197 回答