maks991![]() | Смена контента без перезагрузки1680480421 Что лучше использовать для смены контента в каком-то блоке страницы? Использовать функцию load() из JQuery или держать html код в php скрипте и менять его с помощью ajax? |
websyst_ru![]() | 1680480588 Зависит от подгружаемого контента. Если это банально, к примеру, непрерывная подгрузка при бесконечной прокрутке, просто догрузка страниц, элементов, открытые элемента по событию (аля зачем подгружать парсинг элемента по наведению, если нет события mouseover. Это всё load. Преимущественно, малодинамичный контент.
ajax, для частоизменяемых данных, где нужна фильтрация, или обработка ошибок, или уникальные доступы или удобные $.get $.post, или (особенно) с третьей стороны
из документации
load Загружает HTML из удаленного файла и внедряет его в DOM.
ajax Загружает удаленную страницу с помощью HTTP-запроса. Это низкоуровневая реализация AJAX jQuery. maks991![]() ![]() |
BANO![]() | 1680480835 Как будто load не использует AJAX.
maks991,
«или держать html код в php скрипте»
Держать HTML-код в PHP-файле точно не нужно, если это не шаблон. Вы можете при помощи AJAX загружать результат выполнения серверного шаблона, т.е. результат встраивания "настоящего" содержимого в шаблон. И уже этот результат можно считать содержимым на клиенте, которое будет встраиваться в макет. Несмотря на такой охват, это содержимое тоже может быть неполным, например в нем нет названия страницы для title. Чтобы не дробить запрос для получения "полного" содержимого, вместо JSON можно, например, использовать формат содержимого ответа, похожий на формат ответа самого HTTP:
maks991
При "первом" запросе можно встраивать результат выполнения шаблона в макет прямо на сервере.![]() ![]() |
maks991![]() | 1680480982 BANO, «если это не шаблон»
Ну у меня к примеру макет страницы такой:
влепить жирный лайк
И мне нужно заменить main, то есть там будет изменена лишь html разметка, а дальше уже работать с новой разметкой и вносить в нее данные другими способами![]() |
BANO![]() | 1680483635 maks991, «И мне нужно заменить main»
Наверное, все-таки содержимое блока main. Заменяйте. В чем проблема? влепить жирный лайк![]() |
maks991![]() | 1680483714 BANO, Ну а каким способом в данном случае это лучше делать? влепить жирный лайк![]() |
BANO![]() | 1680483782 maks991, Без разницы. Если уже используете jQuery, можно использовать load. Иначе - аналог из другого фреймворка (другой библиотеки) или собственную реализацию. влепить жирный лайк![]() |