【问题标题】:Funny issue; localStorage and MongoDB有趣的问题;本地存储和 MongoDB
【发布时间】:2025-12-03 12:05:01
【问题描述】:

我遇到了一个特殊的问题。我正在从 div contenteditable 中读取 HTML,然后向我的后端发送一个 AJAX 请求,该请求将该 HTML 保存到 mongodb 文档中,并且我还将 完全相同的 HTML 保存到 localStorage。

然后,猜猜会发生什么?稍后加载文本时,localStorage 呈现良好,但是,从数据库中检索到的数据会变成带有 &nbsp's 和 <div>s 分散在各处的文本。 MongoDB 会在保存数据之前对其进行处理吗?

【问题讨论】:

标签: javascript python html mongodb


【解决方案1】:

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

【讨论】:

  • 那么,这段代码sn-p是把编码后的数据变成解码后的数据吗?
  • 我会检查它并让你知道它是否很快就会起作用:)
【解决方案2】:

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

响应 AJAX 调用的字符串将被转换为字符实体,否则它们将使用“

【讨论】:

    最近更新 更多