Смешная тема; localStorage и MongoDB - PullRequest
1 голос
/ 03 ноября 2011

У меня странная проблема.Я читаю HTML из div contenteditable, а затем отправляю запрос AJAX в мой бэкэнд, который сохраняет этот HTML в документ mongodb, и я также сохраняю тот же самый HTML в localStorage.

И, угадайте, что происходит?Когда текст загружается позже, localStorage отображается нормально, но данные, извлеченные из базы данных, превращаются в текст с символами 's и <div> s, разбросанными по всему.MongoDB что-то делает с данными перед сохранением?

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

Звучит так, как будто текст, возвращаемый с сервера, закодирован в формате HTML.Независимо от того, закодировано ли значение в MongoDB или результат закодирован непосредственно перед отправкой ответа, вы можете определить фактические записи в MongoDB.

Один простой способ работы с закодированными данными:

var decodedData = $("<div />").html(encodedData).text();

Без jQuery и логики за этим способом (закодировано на лету):

var el = document.createElement("div");
el.innerHTML = encodedData; //shows text that is looks to user like the HTML
var decodedData = el.firstChild.nodeValue; //text node value to use as HTML later
0 голосов
/ 13 декабря 2011

В MongoDB нет ничего, это AJAX-вызов.

Строка в ответ на AJAX-вызов будет преобразована в символьные объекты, или они сломают ваш DOM с символами вроде '<'.Все, что вам нужно сделать, это преобразовать их обратно. </p>

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