Подтвердить что ты не робот

Как получить вывод в формате HTML

Я получаю данные JSON с сервера, одно из полей содержит escaped html (собственно, тело электронной почты):

<html>\r\n<head>\r\n<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r\n</head>\r\n<body dir="auto">\r\n<div>Buonasera, ho verificato i dati sul mio account ed il numero di cell che vi ho fornito</div>\r\n<div><br>\r\n<a (подробнее...)

Я с ума сошел, пытаясь сделать это с помощью AngularJs.

Не работает следующее:

<div ng-bind-html-unsafe="mail.htmlbody"></div>

Я считаю, что это нормально, потому что html фактически экранирован. Должен ли я сначала отменить его? Является Angular способным unescaping html с некоторым доступным сервисом?

Если я использую $sce следующим образом:

scope.mail.htmlbody = $sce.trustAsHtml(scope.mail.htmlbody);

Отображается исходный html, проверяя элемент, который я вижу, что контент цитируется. Другими словами, на странице отображается html-источник вместо отображаемого html. Может, я что-то упустил?

4b9b3361

Ответ 1

В то же время была введена служба $sce (angular 1.2), поддержка директивы ng-bind-html-unsafe была удалена. Новая директива ng-bind-html. Если вы используете это, код должен работать как описано в документе:

 <div ng-bind-html="mail.htmlbody"></div>

Ответ 2

Используйте эту директиву:

<div ng-bind-html="mail.htmlbody"></div>

Не забудьте использовать angular для очистки вашего модуля приложения.

здесь: http://docs.angularjs.org/api/ngSanitize