有趣的问题; localStorage和MongoDB

时间:2011-11-03 03:48:08

标签: javascript python html5 mongodb

我有一个奇怪的问题。我正在从div contenteditable读取HTML,然后向我的后端发送一个AJAX请求,将该HTML保存到mongodb文档,我还将完全相同的HTML 保存到localStorage。

而且,猜猜会发生什么?当文本稍后加载时,localStorage渲染得很好,但是,从数据库中检索到的数据会变成带有&amp; nbsp和<div>的文本。 MongoDB在保存之前是否对数据做了些什么?

2 个答案:

答案 0 :(得分:2)

听起来从服务器返回的文本是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

答案 1 :(得分:-1)

它与MongoDB无关,它是AJAX调用。

响应AJAX调用的字符串将转换为字符实体,否则它们将使用'&lt;'等字符来破坏DOM。你需要做的就是将它们转换回来。