#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. Во многих случаях это НЕ обязательно самое простое или элегантное решение! 🙂