使用 DataTables,我从 API 中获取 HTML 字符串,但表格单元格显示的是“<p>Hello</p>”,而不仅仅是 p 标签中的“Hello”。做啥?

Posted

技术标签:

【中文标题】使用 DataTables,我从 API 中获取 HTML 字符串,但表格单元格显示的是“<p>Hello</p>”,而不仅仅是 p 标签中的“Hello”。做啥?【英文标题】:Using DataTables, I'm grabbing HTML strings from an API, but the table cell is displaying "<p>Hello</p>" instead of just "Hello" in a p tag. What do?使用 DataTables,我从 API 中获取 HTML 字符串,但表格单元格显示的是“<p>Hello</p>”,而不仅仅是 p 标签中的“Hello”。做什么? 【发布时间】:2021-12-06 19:03:27 【问题描述】:

我尝试在我的 API 中编码 html,但它只是在单元格中显示“

Hello”等。我还在 DataTables 初始化程序的列部分尝试了 Html.Raw 和 HttpUtility.HtmlDecode 的不同变体,但我可能使用不正确。如有必要,我愿意使用替换功能剥离 HTML(尽管至少保留段落分隔符是理想的),但我使用 DataTables 在单元格中手动呈现锚标记,所以我不明白这有什么不同。我如何告诉 DataTables“这不是字符串,它是 HTML,你应该这样渲染它?”

【问题讨论】:

对不起,在这篇文章的第一行,我试图使用 &lt/&gt 符号,但它们被自动读取了。 您是否有该问题的最小可重现示例?你用什么来设置通话内容? @asyncawait 是对的,我们需要您提供代码示例,以便我们知道您在使用什么。 请参阅 minimal reproducible example 以获得指导。 【参考方案1】:

终于想通了。没有意识到我已经编码了一些数据,所以我必须在使用它们创建 JSON 之前解码受影响的字段。尝试在数据表初始化中解码不起作用。我在 API 控制器中使用了 HttpUtility.HtmlDecode(fieldName),使用解码的项目创建了 JSON,然后一切都按预期工作。希望有一天这对某人有所帮助。

【讨论】:

以上是关于使用 DataTables,我从 API 中获取 HTML 字符串,但表格单元格显示的是“<p>Hello</p>”,而不仅仅是 p 标签中的“Hello”。做啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jQuery DataTables 中的分页期间滚动到第一行

jQuery DataTables 获取选定的行值

如何为 jQuery DataTables 获取 JSON 的某些部分

Jquery DataTables 插件 - sAjaxSource

datatables使用方式

如何在Datatables中使用服务器端get api实现分页