Как связать данные на стороне сервера с элементами пользовательского интерфейса на стороне клиента в HTML?

Я постоянно сталкиваюсь с этой проблемой при разработке приложений AJAX. Допустим, я хочу, чтобы пользователи могли нажимать на значок «флаг», связанный с каждым комментарием на моем сайте, что приводит к отправке AJAX-запроса на сервер с просьбой пометить комментарий. Мне нужно связать идентификатор комментария с комментарием на стороне клиента, чтобы запрос AJAX мог сообщить серверу, какой комментарий пометить.

Эта страница объясняет несколько способов аннотировать HTML таким образом, но ни один из них не является удовлетворительным. Хотя я мог бы просто использовать идентификатор или атрибут класса, чтобы связать идентификатор комментария с кнопкой флага (например, id = "comment_1998221"), это не удается с более сложными данными, которые не вписываются в эти атрибуты (например, произвольные строки). Есть ли лучшая практика для такого рода вещей? Каждый раз, когда мне нужно сделать это, я получаю некоторый клудж, такой как использование атрибута id, скрытое поле формы или, что еще хуже, диапазон отображения, отображаемый: none.

Атрибуты HTML5 data- * кажутся идеальным решением, но я видел много враждебности к ним, что заставляет меня думать, что у людей уже должно быть решение, которым они довольны. Я хотел бы знать, что это такое.

Ответы на вопрос(3)

Ваш ответ на вопрос