HTML как результат для вызова AJAX (плюсы и минусы)

#javascript #html #ajax #dom

#javascript #HTML #ajax #dom

Вопрос:

Каково ваше мнение (ЗА и ПРОТИВ) о возврате HTML-кода в результате для вызова AJAX. Это значит, что если приложение создает новый элемент в списке и ему требуются некоторые дополнительные параметры или некоторая настройка шаблона, вместо того, чтобы изменять его через JS, мы можем отправить его шаблонизированным через вызов AJAX.

Дело в том, что фрагменты HTML отправляются с сервера на клиентский компьютер и интегрируются в документ DOM. Есть проблемы с этим подходом?

Комментарии:

1. Интересный вопрос, было бы неплохо увидеть некоторое профилирование относительно того, быстрее ли отправлять необработанный текст через AJAX и выполнять все форматирование / генерацию разметки в JS на клиенте, или просто отправлять весь блок XML по сети и просто добавлять его в DOM. В любом случае, я сомневаюсь, что есть большая разница.

Ответ №1:

С этим вообще нет проблем, совершенно нормальная и разумная вещь.

Иногда существует вариант использования для отправки данных вместо разметки и расширения их с помощью шаблонов на стороне клиента, но это в основном для ситуаций, когда вы отправляете много данных и поэтому хотите уменьшить размер на проводе. (Например, большая таблица, где ее HTML-представление составляет 100 кб, но необработанные данные, скажем, в формате JSON, будут составлять всего 10 кб.) Или когда шаблоны меняются в зависимости от условий на стороне клиента. Но, по большому счету, совершенно нормально отправлять HTML, который вы затем включаете в DOM через innerHTML (или любую из оболочек нескольких библиотек для него, которые помогут вам с лишними придирками).

Ответ №2:

Это распространенный подход.

Если вы добавляете элементы в список или заменяете содержимое pod чем-то совершенно другим, это нормально.

Это также упрощает применение AJAX к существующим сайтам (например, наложениям или чему-то еще), потому что вы можете делать запросы к существующим страницам, а затем удалять ненужные фрагменты.

Однако было бы лучше для обновлений, в которых меняется только значение, тогда вам, возможно, следует использовать Json там.

Ответ №3:

Лично я почти всегда предпочитаю получать ответ в формате JSON без применения разметки или форматирования, но это только потому, что мне нравится иметь действительно гибкий, детализированный ответ, чтобы я мог делать все, что захочу, с возвращаемыми данными, без необходимости, возможно, удалять их из HTML. Во многих случаях это НЕ обязательно самое простое или элегантное решение! 🙂