2015-10-14 4 views
0

Я создаю приложение для сохранения небольших заметок и комментариев. Приложение потребует от вас отправки заголовка, и оно предоставит вам текстовую область для вашего текста.Обратно HTML в PHP Ответ JSON

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

Я думал вернуть пару через JSON, но кто-то сказал мне, что это плохая практика.

Действительно ли это плохая практика, чтобы вернуть HTML через Джейсона и почему?

ответ

1

JOSN был создан для преодоления громоздкого XML-формата, используемого для обмена данными. Это действительно легкий формат обмена данными, как описано Джеймсом. Предположим: вам нужно отобразить динамический список продуктов, имеющих всю информацию, связанную с продуктом. Если вы вернете полный HTML-код в JSON, его размер будет 2048 символов. Но если вы только вернете имя продукта и информацию о нем без разметки HTML, размер текстовой строки ответа будет меньше 2048 символов, это может быть 100 символов только потому, что вы опускаете разметку HTML, которая на самом деле не требуется. Итак, вы можете просто иметь облегченную версию данных, а затем вставить ее в разметку HTML, используя скрипт на стороне клиента. Это сделает ваше приложение быстрее, потому что вам придется меньше ждать ответа сервера, поскольку размер данных мал, а перенос небольшого количества данных (символов) всегда будет быстрее, чем большие данные (символы).

XML содержал значительную разметку, поэтому JSON рассматривалась как альтернатива для более быстрой передачи данных.

1

JSON (JavaScript Object Notation) является легким форматом обмена данными http://www.json.org/

HTML-структура DOM должна быть создана и использовать JSON для обмена данными.

После того, как вы получили данные, создающие динамические элементы dom, это честная игра.

1

Несколько близкородственных вопросы:

Why is it a bad practice to return generated HTML instead of JSON? Or is it?

How dangerous is it send HTML in AJAX as opposed to sending JSON and building the HTML?

Насколько я знаю, это не плохая практика, чтобы вернуть HTML строку в объект JSON. Принятый ответ на этот второй вопрос, кажется, согласны:

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

1

Это действительно зависит от того, как вы планируете реализовать свою идею. Как вы упомянули JSON, я думаю, вы пытаетесь реализовать AJAX. Ну, хотя можно возвращать почти любой тип контента, закодированный как объект JSON, я не понимаю, почему вам нужно будет отправлять HTML-элементы, такие как text-area с сервера через JSON. AJAX используется для сценариев, в которых выполняется запрос сервера, и клиент хочет получить ответ, не обновляя страницу, с которой был отправлен запрос. Наиболее распространенным является имя пользователя и пароль проверка на страницах входа.

Я думаю, вы должны получить четкое представление о сценариях на стороне сервера и на клиентских сценариях. То, что вы уже реализовали с помощью jquery, называется сценарием на стороне клиента, и именно так оно и должно быть сделано. Что касается получения данных из PHP, это делается, когда вам нужно прочитать некоторые данные из базы данных, находящейся на сервере. Скажем, text-area отображается, только если введено действительное название, которое имеет запись в базе данных. И я не вижу здесь никаких требований.

+0

Сложные структуры HTML-структур динамически с информацией JSON, возвращаемой с помощью запроса AJAX, могут занять много времени, особенно если на сервере уже есть частичные части обзора, которые настроены для сборки этой сложной HTML-серверной стороны. Есть ли недостаток в возврате уже построенного (экранированного) HTML как части объекта JSON (вместо того, чтобы переписывать существующий код на стороне сервера в javascript)? – rawb

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