maks991

ответов0 / помог0

Смена контента без перезагрузки

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

Name: Название страницы

<div id="page">
Основное содержимое страницы
</div>
При "первом" запросе можно встраивать результат выполнения шаблона в макет прямо на сервере.
maks991влепить жирный лайк
maks991
ответов0 / помог0
1680480982
BANO, «если это не шаблон» Ну у меня к примеру макет страницы такой:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<nav>.....</nav>
<div id="main">...</div>
<footer>...</footer>
 
</body>
</html>
И мне нужно заменить main, то есть там будет изменена лишь html разметка, а дальше уже работать с новой разметкой и вносить в нее данные другими способами
влепить жирный лайк
BANO
ответов14 / помог6
1680483635
maks991, «И мне нужно заменить main» Наверное, все-таки содержимое блока main. Заменяйте. В чем проблема?
влепить жирный лайк
maks991
ответов0 / помог0
1680483714
BANO, Ну а каким способом в данном случае это лучше делать?
влепить жирный лайк
BANO
ответов14 / помог6
1680483782
maks991, Без разницы. Если уже используете jQuery, можно использовать load. Иначе - аналог из другого фреймворка (другой библиотеки) или собственную реализацию.
влепить жирный лайк
Сначала вход
A B i U S JS PHP HTML CSS SQL C C++ C# PYTHON JAVA
Для входа только имэйл или имя и апроль
Можно сменить аватар
Имэйл Ваше имя
Пароль