Я занимаюсь разработкой веб-приложения на Java, я использовал несколько веб-служб jQuery и REST, которые выводят объект JSON со списком объектов Javascript с использованием AJAX. Все в порядке, но когда я пытаюсь заполнить таблицу, созданную с помощью Javascript, используя jQuery.html (), до действительного div, все чертовски раскололось в Chrome, включая этот
Ошибка: INVALID_STATE_ERR: исключение DOM 11
в консоли Javascript.
Проблема вот в чем, попробуйте это в консоли хрома Javascript:
$('#ValidadorWrapper').html("<div>AMOXICILIN 100 C&psulapsula</div>");
Но если мы удалим амперсанд, он будет работать
$('#ValidadorWrapper').html("<div>AMOXICILIN 100 Camp;psulapsula</div>");
Эта проблема возникает только в Chrome, я подозреваю, что это связано с кодировкой символов, но я не могу найти какой-либо способ сделать это. Очевидно, мне нужно ввести & ( i mean the & entity)
в этом документе.
Некоторые шаги, которые я пробовал и не работали:
Я использую библиотеку gson для вывода строки на страницу JSP. Моя страница JSP имеет этот заголовок <%@page pageEncoding= "UTF-8" contentType="text/html; charset=UTF-8" %>
. Это была моя первая попытка, и она не сработала, когда в моем объекте JSON появился амперсанд (ну и любой специальный символ).
Моя вторая попытка была использовать библиотеку Java HTMLEntities для кодирования всех специальных символов. Это актуальная версия, и она все еще не работает
Использование символов Юникода, таких как \u0026
, также не работает
Есть что-то более странное. Очевидно, если я использую $('#ValidadorWrapper').html("AMOXICILIN 100 \u0026");
, это работает !, но это только пример. Я пытаюсь заполнить таблицу HTML своим объектом, поэтому мне действительно нужно поместить эти данные в теги html (таблица)