我在Navigator对象的序列化过程中遇到了RangeError。
可能是什么原因?
JSON.stringify(navigator);
RangeError: Maximum call stack size exceeded
浏览器:Chrome
答案 0 :(得分:3)
这是因为,正如错误消息所示,navigator
对象太大了。
您可以像这样使用dystroy's modified JSON function:
var navJSON = JSON.pruned(navigator);
返回的对象非常庞大,但几乎可以肯定它并不完全正确。如果要使用JSON传输有关navigator
对象的数据,应仅发送这些属性,而不是整个对象。
答案 1 :(得分:1)
为什么不将您感兴趣的特定值复制到新对象然后序列化呢?
也许它找到了导致无限循环的属性。
答案 2 :(得分:1)
也许导航器对象包含自我链接。您应该在其他对象中复制导航器并删除它们上的大链接。