Как я могу преобразовать объект в строку в JavaScript, в частности объект `document` из браузера? - PullRequest
0 голосов
/ 12 ноября 2011

Я не могу использовать JSON.Stringify, потому что объект document имеет много уровней. Я перепробовал функцию в: http://www.davidpirek.com/blog/object-to-string-how-to-deserialize-json, но я получаю ошибку _o.hasOwnProperty is not a function. У кого-нибудь есть какие-либо советы или советы?

Ответы [ 2 ]

1 голос
/ 12 ноября 2011

Вы не можете сериализовать 'document' в строку JSON, используя JSON.stringify, так как он содержит циклические ссылки.Один из способов справиться с циклическими ссылками - реализовать собственный метод stringify, который отслеживает циклические ссылки и исключает их.(см. этот ответ: Как решить циклическую ссылку в сериализаторе json, вызванную двунаправленным отображением гибернации? )

Как уже сказано в комментариях, действительно ли вам нужно сериализовать объект документа?

Я работал с проектом подобного типа (время для рекламы: http://hannotaatio.futurice.com), и мы не сериализуем объект документа. Вместо этого соответствующая информация из объекта документа хранится с использованием JavaScript. Кодна Github, так что не стесняйтесь проверить его.

0 голосов
/ 14 ноября 2011

Видимо, один из способов - просто использовать jQuery.Мне это не нравится, но пока подойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...