Проблема с закодированными символами Jsp, Jquery и Json - PullRequest
2 голосов
/ 12 января 2010

Работа с JSON для меня нова, но она мне уже нравится. Но я столкнулся с досадной проблемой. Вот как все работает: jquery делает запрос Ajax для определенного URL, этот URL является действием STRUTS и, в случае успеха, возвращает определенный JSP этот jsp включает JSON taglib (http://www.atg.com/taglibs/json) для правильного форматирования JSON.

Формирование связи между клиентом и сервером дает мне это: альтернативный текст http://www.freeimagehosting.net/uploads/e4a91d6251.jpg

Как видите, заголовки http выглядят нормально, но мой JSON содержит hex. символы, такие как '

Проблема в том, что я использую часть ответа JSON для вывода html с использованием Jquery; Я сталкиваюсь с этой проблемой, создавая всплывающие подсказки на лету, каждый раз, когда делается запрос ajax.

Возможно, мой javascript-код не подходит для ввода JSON-кода, поэтому немного кода для обработки этого ответа JSON:

var toolTip = $("<span/>").addClass("tooltip").text(article.description).hide().appendTo(rowDescriptionArticle);

Как видите, я в основном извлекаю описание для каждого узла статьи и вставляю его, используя text (), в мой диапазон.

Есть идеи, что не так?

Ответы [ 2 ]

1 голос
/ 12 января 2010

Нет ничего необычного в JSON, содержащем сущности HTML & mdash; если это часть строки, которую будет отображать браузер, то это звучит нормально.

Исходя из фрагмента jQuery и примера JSON, который вы разместили, он выглядит как & mdash; по моему мнению, не использующему jQuery & mdash; Вы должны установить html() вместо text() диапазона, так как ваше поле description уже закодировано в HTML.

0 голосов
/ 12 января 2010

Вот как выглядит мой JSON:

{"totalPanier":"0,00","articles":[{"id":"8a8b8d632481567f01248156fac90009","reference":"CART01","prixAffiche":"0,00","quantite":"0","libelle":"Carte CADEAUX Ã  montant variable","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0005/209141310005_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 15 Ã  150 euros."},{"id":"8a8b8d632481567f0124815706910010","reference":"CART80","prixAffiche":"80,00","quantite":"0","libelle":"Carte CADEAUX 80 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0004/209141310004_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 80 Euros."},{"id":"8a8b8d632481567f012481570578000f","reference":"CART50","prixAffiche":"50,00","quantite":"0","libelle":"Carte CADEAUX 50 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0003/209141310003_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 50 Euros."},{"id":"8a8b8d632481567f012481570549000e","reference":"CART30","prixAffiche":"30,00","quantite":"0","libelle":"Carte CADEAUX 30 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0002/209141310002_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 30 Euros."},{"id":"8a8b8d632481567f012481570364000d","reference":"CART15","prixAffiche":"15,00","quantite":"0","libelle":"Carte CADEAUX 15 Euros","montantRemise":"","prixTotal":"00,00","visuel":"/documentsArticles/2009/14131/0001/209141310001_dim1.jpg","description":"Carte Cadeaux d&#039;une valeur de 15 euros."}]}

Извините за отсутствие форматирования, но я верю, что вы сможете немного расшифровать его ...

...