Используя плагин формы jquery, как я могу предотвратить экранирование json-кода в html? - PullRequest
1 голос
/ 11 октября 2010

У меня есть установка, в которой я использую плагин JQuery Form для отправки моих форм через ajax, возвращая объект json с сервера (работает django, используя simplejson.dumps). Возвращенный json построен так:

статус: [успех / недействительный / ошибка] ошибка: [текст ошибки, если есть] html: [html-текст для вставки]

Моя проблема в том, что при входе в функцию успеха моего вызова ajax html-часть json экранируется, так что результаты, которые я получаю, имеют тип <strong>Hello<\strong>. Я дважды проверил строку json, создаваемую сервером, она проверяется с помощью json-lint и имеет неэкранированные html-сущности. Любые предложения о том, как я не позволю JQuery избежать моего HTML?

Ответы [ 2 ]

2 голосов
/ 11 октября 2010

Убедитесь, что вы используете от .html() до , используйте этот ответ, а не .text(), что ускользнет от него, как вы говорите .

1 голос
/ 24 октября 2011
  1. Преобразование фрагментов HTML в HTML-объекты на стороне сервера (если вы используете PHP, используйте функцию htmlentities())
  2. Отправка вывода JSON с сервера
  3. На стороне клиента do json.yourHTMLEntityEncodedString.replace(/&amp;/, '&').replace(/&gt;/, '>').replace(/&lt;/, '<')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...