2010-10-10 2 views
0

Использование приложения .net MVC2 создает строку HTML-кода, которая копируется/вставляется моими пользователями в стороннее веб-приложение. Другими словами, я не хочу отображать HTML - я хочу, чтобы строка отображалась дословно.Обратный код HTML через JSON

Мне нужно понять, какие свойства JSON/jQuery должны быть явно заданы, чтобы строка моего приложения отображалась как чистый ascii - коды HTML отображаются неизменными, неэкранированными, незагруженными.

ТХ

+0

Вы упомянули JQuery, так что я интересно, если вы загружаете этот HTML строку через AJAX? Если это так, нет специального свойства, но следуйте первому ответу здесь, чтобы отобразить строку. http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery – Ryan

ответ

2

сам JSON является только текст (ASCII, UTF-8, или в противном случае). HTML, встроенный в него, абсолютно не имеет особого значения.

Единственная причина, по которой браузер когда-либо отображал бы этот текст как HTML, если вы вставляете его на страницу как таковую, возможно, используя функцию .html().

Если вы хотите ввести его в текст, попробуйте функцию .text() или, если вы говорите о textarea или другом элементе формы, .val().

Вам не нужно вносить какие-либо изменения в код ASP или JSON; это просто вопрос о том, что вы делаете с контентом, как только вы его получите.

0

Просто сгенерируйте строку html с помощью специальных символов html. То есть, поверните все меньше, чем до & lt; и так далее. Я не знаю asp, но я уверен, что у него есть некоторый эквивалент htmlspecialchars() (php). Это не имеет никакого отношения к JSON или jQuery. Если у вас есть правильно обновленная строка, вам не о чем беспокоиться.

Если вы получили текст как чистый html с Javascript (жестко закодированный, Ajax и т. Д.), Вы можете просто обновить контейнер с помощью $ ("# container"). Text (html); Это превратит его в читаемый html вместо того, чтобы интерпретировать сам html (по сути дела делая то, что делает htmlspecialchars())!

1

Вам просто нужно взять код и запустить его через HtmlEncode

<%= Server.HtmlEncode(YourHtmlHere) %> 
Смежные вопросы