Реализация автообновления определенного DIV без перезагрузки страницы?
Здравствуйте, имеется некий div=fon2 на index.php.
Суть проста. Внутри див находится еще один PHP скрипт. Реализовать его автообновление через каждую минуту, не перезагружая полностью страницу.
То есть простыми словами, вы сидите смотрите в экран. И этот див сам обновился без вашей помощи. В интернете нашел много чего,но четкого ответа так никто и не дал. Нашел только автообновления всей страницы,но под определенный див он не работает. Если можно, подскажите как это сделать, желательно кодом или ярким примером. Спасибо.
- Вопрос задан более трёх лет назад
- 1298 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1

Software Engineer
const updateDiv = () = < /* Делаем AJAX запрос. Если используется хоть что-то на клиенте, например jquery, можно написать проще */ var xhr = new XMLHttpRequest(); xhr.open('GET', 'updated_div.html', true); // эта страница выдаёт вёрстку нашего дива xhr.onreadystatechange =() => < if (xhr.readyState != 4) return; if (xhr.status != 200) < /* Запрос успешен, выводим в div */ document.getElementById('fon2').innerHtml = xhr.responseText >else < /* Ошибка запроса, обрабатываем в зависимости от ситуации */ alert(xhr.responseText); >setTimeout(updateDiv, 60000); // Ставим таймер на следующее обновление > xhr.send(); > // Вызвать для первого обновления div-а updateDiv();
На самом деле не совсем правильно передавать innerHtml, у вас же скорее всего не обновляется макет, только данные. Тогда можно было бы сделать ‘jsx для бедных’, вроде такого
getDivLayout = (data) => < return `'>$ `; >
и, соответственно, с сервера отправлять json, в onreadystatechange при успешном ответе его парсить и передавать в getDivLayout, результат которого уже вставлять в innerHtml div-а
Как сделать автоматическое обновление маркеров?
Здравствуйте! Необходимо, чтобы при добавлении в базу новых координат, на карте маркер выставлялся без обновление страницы. С Ajax ранее не работал (если он для этого), поэтому затрудняюсь реализовать, буду благодарен за помощь. Страница генерация маркера в базу (из документации гугла):
','>',$xmlStr); $xmlStr=str_replace('"','"',$xmlStr); $xmlStr=str_replace("'",''',$xmlStr); $xmlStr=str_replace("&",'&',$xmlStr); return $xmlStr; > $result = $pdo->query("SELECT * FROM markers WHERE 1"); header("Content-type: text/xml"); // Start XML file, echo parent node echo ''; // Iterate through the rows, printing XML nodes for each while ($row = $result->fetch())< // ADD TO XML DOCUMENT NODE echo ''; > // End XML file echo ' ';
Страница карты самой карты и маркеров:
Los Santos Police Department - 911 Online Map /* Allow the canvas to use the full height and have no margins */ html, body, #map-canvas
SanMap это карта для игры, которая позволяет работать с игровой картой, а не нашей Земли.
maxua.com.ua Автоматизация интернет магазинов
два способа обновить часть страницы без перезагрузки
PHP не может этого сделать, только на стороне клиента с использованием Javascript.
вариант с использованием JQuery :
Index.php
Может быть обновлены с помощью следующего кода:
Это позволит загружать содержимое #block из index.php без обновления всей страницы.
Можно автоматизировать, обновляется каждые 30 секунд с помощью setInterval ();
setInterval(function() <
$(«#block»).load(«index.php #block»);
>, 30000);
еще вариант с iframe:
Как сделать автообновление div в php
Доброго времени суток!
Подскажите как решить задачу:
Имеется блок div
При нажатии кнопки обновляется блок
function Click()
1.php это где находится этот блок по умолчанию
и вот в чем косяк у меня при нажатии кнопки получается так что один блок в другой упаковывается
Вопрос как мне убрать один блок div?
Убрать нужно повторяющийся блок div
«Я не волшебник, я только учусь»
Последний раз редактировалось s88s; 16.09.2019 в 21:20 .
Регистрация: 09.01.2008
Сообщений: 26,238
так. а что возвращает 1.php ?
где кавычки в команде load()?
и для чего написан селектор #div_1 после 1.php ?
function Click()
| Serge_Bliznykov |
| Посмотреть профиль |
| Найти ещё сообщения от Serge_Bliznykov |
Форумчанин
Регистрация: 02.01.2014
Сообщений: 369
Сообщение от Serge_Bliznykov
так. а что возвращает 1.php ?
На странице 1.php расположено несколько дивов с разной информацией
Сообщение от Serge_Bliznykov
где кавычки в команде load()?
Кавычки у меня есть просто тут по запаре забыл написать плюс пост писал с телефона =(
Сообщение от Serge_Bliznykov
и для чего написан селектор #div_1 после 1.php ?
Селектор написан что бы только он отобразился на странице а не вся страница в одном блоке
Сообщение от Serge_Bliznykov
function Click()
Так перезапустится вся старница
Точнее в div_1 загрузится вся страница так сказать про дублируется
Мне нужно сделать обновление блока div после нажатия на кнопку без перезагрузки страницы по id
«Я не волшебник, я только учусь»
Последний раз редактировалось s88s; 16.09.2019 в 21:27 .
Регистрация: 09.01.2008
Сообщений: 26,238
Сообщение от s88s
Так перезапустится вся старница
Вы в div1 хотите загрузить div1 ?
но он его внутрь дива и загружает.
Что Вы хотите, чтобы после перезагрузки div получил значение такое, как было до перезагрузки?
| Serge_Bliznykov |
| Посмотреть профиль |
| Найти ещё сообщения от Serge_Bliznykov |
Форумчанин
Регистрация: 02.01.2014
Сообщений: 369
Сообщение от Serge_Bliznykov
Вы в div1 хотите загрузить div1 ?
но он его внутрь дива и загружает.
Что Вы хотите, чтобы после перезагрузки div получил значение такое, как было до перезагрузки?
К примеру есть блок div
После нажатия на кнопку мне этот блок див нужно просто обновить что бы на экран вывелась обновленная информация
не понимаю как это сделать
«Я не волшебник, я только учусь»
Регистрация: 09.01.2008
Сообщений: 26,238
для исходного примера, попробуйте просто после загрузки переписать содержимое блока.
например, так
function Click()< $( "#div_1").load( "1.php #div_1", function( ) < $( "#div_1").html($( "#div_1").find('div').html()); >); >
Сообщение от s88s
После нажатия на кнопку мне этот блок див нужно просто обновить что бы на экран вывелась обновленная информация
я так и не могу понять,
Содержимое 2 откуда возьмётся то? Если у Вас в исходном файле написано Содержимое 1 ? и после загрузки Вы и получите тоже самое Содежимое 1, которое Вы читаете. Новое откуда возьмётся то?
| Serge_Bliznykov |
| Посмотреть профиль |
| Найти ещё сообщения от Serge_Bliznykov |
Участник клуба
Регистрация: 19.01.2009
Сообщений: 1,453
function Click() < $("div").click(function () < $(this).replaceWith($.get('1.php')); >); >
Регистрация: 09.01.2008
Сообщений: 26,238
uberchel, в принципе классное решение. :good:
только у ТС проблема в том, что файл 1.php — это как раз и есть исходная страница, включая всё, в том числе и сами js скрипты и тот же div
поэтому, Ваш код будет работать, если будет идти обращение не к самому себе (не к тому файлу, где находится данный код, а к нормальному скрипту, который вернёт нужное содержимое div)
скажем, $.get(‘get_div1.php’)
| Serge_Bliznykov |
| Посмотреть профиль |
| Найти ещё сообщения от Serge_Bliznykov |
Участник клуба
Регистрация: 19.01.2009
Сообщений: 1,453
Тогда просто и без геморроя )
$.get('1.php', function (data) < $('#div_1').html($('#div_1', data).html()); >);
Форумчанин
Регистрация: 02.01.2014
Сообщений: 369
Сообщение от uberchel
Тогда просто и без геморроя )
$.get('1.php', function (data) < $('#div_1').html($('#div_1', data).html()); >);
Может и без геморроя но этот вуариант мне не подходит так как грузить всю страницу в блок div
А мне надо всего лишь перезапустить точнее обновить блок див . reload ему сделать . обновить всего один блок по его id.
«Я не волшебник, я только учусь»
Последний раз редактировалось s88s; 17.09.2019 в 09:35 .
| Страница 1 из 2 | 1 | 2 | Следующая > |
| Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Blowfish (резервирование дополнительного байта для блока, говорящий о длине блока) | ITdocer | Общие вопросы C/C++ | 0 | 21.05.2014 15:40 |
| обновление функции или блока php | Viboxjuwin | PHP | 3 | 30.10.2013 15:10 |
| Макрос: обновление одного файла данными из другого | darthraziel | Microsoft Office Excel | 33 | 18.09.2012 17:11 |
| можно ли играть по сети с одного системного блока | :=) | Свободное общение | 11 | 04.02.2012 19:59 |
| Автоматическое обновление блока данных | Jakethefish | PHP | 4 | 05.03.2011 22:37 |