jQuery / AJAX - формат ответа - PullRequest
       4

jQuery / AJAX - формат ответа

6 голосов
/ 29 октября 2010

Мне было интересно, каков наилучший «формат» для данных, которые отправляются обратно в javascript? Когда я должен использовать строку JSON или просто обычный HTML? Есть ли другие варианты, кроме этих двух?

Ответы [ 3 ]

7 голосов
/ 29 октября 2010

Это зависит от того, какие данные отправляются обратно и как вы планируете их использовать.

Плюсы и минусы:

  • Использованиеjson-данные и генерация HTML-кода JavaScript увеличивает нагрузку на браузер и снижает нагрузку на сервер, а также не требует кодирования логики представления на странице, обслуживающей данные.И данные JSON обычно намного меньше.

  • Использование данных HTML и вставка прямо в страницу увеличивает нагрузку на сервер, заставляя страницу, обслуживающую AJAX, содержать логику представления.Однако, если логика представления уже содержится в коде на стороне сервера (напрямую или через язык шаблонов), и размещение указанной логики представления на стороне JavaScript потребует от вас ее разработки с нуля, это может быть преимуществом, а не недостатком.

Другими словами, используйте данные JSON, если:

  • Ваша страница будет использовать эти данные JSON для целей, отличных отвремя генерации HTML.DUH.

  • Ваша страница уже содержит логику JavaScript для построения HTML на основе данных, или, если создание такой логики очень просто, затраты на разработку.Особенно, если верно обратное (например, необходимо поместить серверную логику генерации HTML и требует значительных затрат на разработку).

  • Расходы на выгрузку ресурсов при преобразовании данных в HTMLс сервера на браузер - это важное соображение.

  • Данные JSON значительно меньше, чем создаваемый HTML, что приводит к значительному сокращению передаваемых данных.Это ускоряет как выполнение сервера, так и передачу по сети.На самом деле у нас было примерно 20-кратное ускорение сложного приложения, отображающего дерево, путем передачи данных дерева в виде json вместо уже сгенерированного HTML-кода.

  • URL-адрес, создающий ответ, можно использовать повторно какуслуга для целей, ДРУГИХ, чем эта страница, если другие возможные / фактические потребители не смогут на 100% повторно использовать HTML-код, созданный для этой конкретной страницы.

2 голосов
/ 29 октября 2010

Хотите ли вы работать с данными в JavaScript, а затем создавать DOM из этих данных?Используйте строки JSON.

Вы просто хотите поместить что-то на страницу в заполнитель без какой-либо логики?Используйте простой HTML.

1 голос
/ 29 октября 2010

json почти всегда предпочтительнее, особенно если вам нужно выполнить какую-либо обработку ошибок. Если вы не хотите и просто хотите вернуть предварительно отформатированный HTML-код для размещения в DOM, то достаточно вернуть обычный HTML-код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...