#php #javascript #html
#php #javascript #HTML
Вопрос:
Возможно, это неуместный вопрос для SO, но я подумал, что давайте посмотрим 🙂
Я пишу веб-сайт на php. Каждая загрузка страницы может содержать 10-20 запросов к БД. Используя результат запросов к БД, мне нужно сгенерировать страницу.
Страница будет содержать тему (должна быть изображением или текстом), за которой следуют комментарии. Таких тем может быть несколько.
В настоящее время я создаю строку, используя результат базы данных, и отправляю ее в браузер. Когда браузер получает строку (в качестве ответа ajax), он анализирует ее с помощью функций разделения и создает HTML динамически.
Я в основном программист на C ; относительно новичок в веб-разработке. Итак, у меня нет четкого понимания объектов JS. Какую длину строки может содержать переменная JS? Можно ли использовать split и генерировать HTML на клиенте.
Я не генерирую полный HTML на стороне сервера, чтобы избежать каких-либо накладных расходов из-за конкатенации строк. Я считаю, что отправка меньшего количества символов клиенту (как я делаю) лучше по сравнению с отправкой полного HTML-кода.
Что-то (или все) неправильно в моем понимании 🙂 Любая помощь приветствуется.
Редактировать:
Что ж, я буду очень признателен, если смогу получить мнения в yes / no. Что бы вы порекомендовали. Отправка HTML клиенту или строки, которая будет использоваться на клиенте для генерации HTML?
Комментарии:
1. Обратите внимание, что если пользователь не поддерживает JS, страница останется пустой…
2. JSON (и в PHP ) — довольно распространенный способ отправки данных в браузер на основе строк.
3. @SiteSafeNL: Все в порядке; Я считаю, что этот случай должен составлять 2% или что-то в этом роде!!
4. Обратите внимание, это действительно не сайт мнений.
Ответ №1:
Если у вас нет конкретной причины для этого, я думаю, вам следует подумать о создании HTML с помощью PHP и отправке его непосредственно в браузер. PHP был создан специально для этой цели.
Комментарии:
1. У меня сложилось впечатление, что отправка HTML-кода (в свою очередь, его генерация) на стороне сервера будет стоить больше времени по сравнению с его генерацией на клиенте. Как это различие может повлиять на пользовательский интерфейс веб-сайта 🙂
2. конечно, это создаст дополнительные данные для передачи между сервером и клиентом, но, как говорит Кибби, php создан для генерации html, javascript — нет. Вы действительно хотите перенести как можно больше синтаксического анализа на сервер.
3. PHP может генерировать тот же HTML с гораздо меньшим вычислительным временем, чем потребовалось бы в Javascript, потому что в Javascript вы работаете с большим XML-документом, тогда как при работе с PHP вы просто помещаете строку (которая содержит HTML) в выходной буфер.
Ответ №2:
Я думаю, вам лучше всего взглянуть на jQuery и более конкретно на метод AJAX этой библиотеки. Кроме того, взгляните на JSON, и у вас все должно получиться.
Комментарии:
1. Может быть, вы хотите также добавить информацию о том, как кодировать данные на стороне сервера в JSON (для PHP см.
json_encode
; php.net/manual/en/function.json-encode.php ).
Ответ №3:
Рассматривали ли вы возможность использования механизма создания шаблонов, такого как Smarty? Он довольно прост в использовании, взгляните на ускоренный курс, он может вам понравиться! http://www.smarty.net/crash_course