2014-11-03 2 views
0

Я делаю ajax-вызов (очень простой), который в настоящее время возвращает строку html. В зависимости от того, кто его вызывает, эта строка может стать очень длинной. То, что я хотел бы знать, - это то, почему лучше вернуть результат JSON и впоследствии построить мой HTML-код, а не просто возвращать длинную строку.Объект JSON или набор результатов String

+0

Просто прочитайте ваше заявление дважды _ эта строка может стать очень длинной в разы – Satpal

+0

Как долго? Вы можете без проблем загружать полные веб-сайты с помощью AJAX. Вот почему его асинхронный! –

+0

Максимальное количество символов до 12K, в основном меньше этого. –

ответ

1

Некоторые преимущества возвращения JSON вместо HTML:

  1. Данные могут быть использованы в качестве данных для анализа или для других целей, а не только использовать для презентации.
  2. Данные JSON часто/обычно намного меньше, чем полный HTML-код презентации, поэтому вы переносите меньше данных через Интернет.
  3. Вы создаете разделение между данными и презентацией, а не смешиваете их как в один API. Ваш сервер возвращает данные, которые отдельный фрагмент кода затем превращается в презентацию.
  4. Данные JSON могут быть обработаны или изменены более легко перед представлением (например, отфильтрованные, отсортированные, помеченные, расширенные/смятые и т. Д.).
  5. Вы можете использовать те же данные JSON для различных типов презентаций. Если вы вернете HTML, презентация уже выпечена, поэтому, если вы хотите другую презентацию, вам необходимо создать совершенно новый вызов AJAX.

Если вы хотите экстремальный способ думать об этом, то спросите себя, почему база данных возвращать исходные данные, а не вид HTML данных? Это потому, что вы можете делать так много других вещей с фактическими данными, поэтому данные гораздо полезнее, поскольку они дают вам только данные, а затем разные фрагменты кода, чтобы что-то делать с данными (анализировать, комбинировать он с другими данными, принимает на нем решения, представляет их для просмотра и т. д.). Если база данных только вернула HTML-представление данных, было бы гораздо сложнее сделать все эти другие вещи с данными. То же самое относится к вызову Ajax, который на самом деле является просто доступом клиента к данным.

+0

Спасибо, что вернули мне ребята. Но мой звонок предназначен исключительно для презентации, без манипуляций с данными. Рассмотрение браузера клиента, который более эффективен для обработки строки HTML или обработки JSON. Или мы просто будем нависнуть над тем фактом, что JSON «меньше» для отправки через интернет –

+0

@I_understand_sometimes - если вы только смотрите на «эффективность», вам придется определить, что вы имеете в виду под этим, а затем вероятно, будет зависеть от точного составления данных и того, насколько это было и как работала презентация. Я бы рискнул предположить, что вы не могли отличить браузер от того, что было сделано в любом случае. FYI, хороший дизайн программирования не просто проектирует минимальный размер, необходимый для текущего дизайна, но разрабатывает вещи так, чтобы соответствовать текущим потребностям И был разработан таким образом, который может быть использован для многих других возможных вещей в будущем (моя точка об использовании JSON). – jfriend00

+0

@I_understand_sometimes - в оценке гибкости дизайна спросите себя, сколько будет работы, если через несколько недель кто-то теперь захочет сортировать данные или фильтровать данные или предлагать несколько презентаций. Какое направление проектирования сделало бы это проще для добавления/изменения? – jfriend00

Смежные вопросы