javascript - Ajax 返回的 HTML 未在 PRE 标记中呈现

标签 javascript html angularjs ajax pre

我有一个正常的 http get Ajax 调用,它返回 html 预格式化字符串: '\u000a\u0009\u0009\u0009\u0009\u000a\u0009#07\/04\/2014#\u000a'

我正在尝试在预标记中设置此值。

HTML:<pre id="preContainer"></pre>

JS: var container = document.getElementById('preContainer');

如果我在代码硬编码值中传递它,则可以工作:

container.innerHTML = '\u000a\u0009\u0009\u0009\u0009\u000a\u0009#07\/04\/2014#\u000a';

但是如果我直接传递ajax返回的对象(Angular JS GET Call)则不起作用:

httpFactory.getHTML(..id..).success(function (emailHTML, status) {

            var container = document.getElementById('preContainer');
            container.innerHTML = emailHTML;                
        });

硬编码值和 emailHTML 值完全相同。但后来它不在 PRE 标签中格式化。知道为什么吗?

最佳答案

我的猜测是它们并不完全相同,但是无论您查看什么值(例如 Chrome 工具或 w/e),都只是显示编码或 w/e。 (如果它们完全相同,您将得到相同的结果)

您可以在放入innerHTML 标记之前再次对输出进行编码吗?

container.innerHtml = encodeHoweverYouEncode(emailHTML);

(这可能不是您想要的编码方式,但使用 w/e 在那里编码您的值)

关于javascript - Ajax 返回的 HTML 未在 PRE 标记中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24580009/

相关文章:

javascript - 在 "Fri May 10 2019 00:00:00 GMT+0800"中添加一天,并使用 JavaScript 以相同的格式获得最终答案

html - 如何向下添加元素以便能够滚动?

javascript - NVD3 调度事件不适用于 HistoricalBarChart

javascript - Angular 在 IE 中抛出 "Error: Invalid argument."

javascript - 根据表单字段值修改 CSS (Pardot)

javascript - 基于 Angular.js + Node.js/PassportJS 的 SPA 上的 oauth2 身份验证

javascript - HTML 表单提交按钮不调用成功方法?

javascript - 如何访问网格中的collapseTool的ID?

javascript - 在 SVG 文件中将文本作为 prop 传递 - React

html - 如何让div占据可用高度