[英]Ajax returned HTML is not rendering in PRE tag
我有一個正常的 http get Ajax 調用,它返回 html 預先格式化的字符串: '\ \ \ \ \ \ \ #07\\/04\\/2014#\ '
我試圖在 pre 標簽中設置這個值。
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 可以在那里對您的值進行編碼)
我剛試過 jquery Get call 和 pre 標簽渲染 HTML 很好。 不知何故,它不適用於 Angular JS http 調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.