Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329

Автоматическое обновление страницы

06.12.2014, 19:44. Показов 2352. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как средствами Javascript можно реализовать обновление страницы без перезагрузки?
Использую такой js код.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
$(document).ready(function()
{
    $('#SendMsg').submit(function(){
        $.ajax({
            type: "POST",
            url: "sent_message.php",
            data: "message="+$("#message").val(),
        });
        return false;
    });
});
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
    include_once("database.php");
    $message = $_REQUEST['message'];
    if(!empty($message) && !ctype_space($message))
    {
        $message = stripslashes($message); // удаляем \
        $message = htmlspecialchars($message); // удаляем html в сообщении код (если есть)
        $message = trim($message); // удаляем пробелы из начала и конца строки
        $message = nl2br($message); // пробелы между строками и стайл
        mysql_query("INSERT INTO message (id, message) VALUES('$_SESSION[id]', '$message')");
    }
?>
Отлавливаю так:
HTML5
1
<form id="SendMsg"> </form>
Вообщем, отправка в БД работает хорошо, сообщение появляется после Refresh страницы (F5)
Меня интересует автоматическое обновление списка сообщений без перезагрузки страницы, есть ли такое в природе? :-)

Добавлено через 3 часа 56 минут
Очень срочно нужна помощь!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2014, 19:44
Ответы с готовыми решениями:

Автоматическое обновление страницы (Скрипт)
Привет друзья, прошу помощи и совета, задачка такая: необходимо сделать автоматическое обновление страницы пользователя при наведении...

Автоматическое обновление страницы после двойного запроса
проблема с кодом: function submitTwice(f){ f.action = '/roundcube'; f.target = 'ifr1'; f.submit(); f.action = '/mail'; ...

Автоматическое обновление страницы с поиском нужных данных\цифр
Добрый день. Интересует скрипт который обновляет страницу и ищет определенные данные\цифры на ней , и соответственно как то уведомляет об...

9
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
07.12.2014, 13:19
Да, есть. Точно таким же образом подгружай его в страницу и всё...
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.12.2014, 20:46  [ТС]
alexsamos33, на основе кода, пожалуйста
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
07.12.2014, 20:52
Цитата Сообщение от Esecman Посмотреть сообщение
автоматическое обновление списка сообщений без перезагрузки страницы
Через определенные промежутки времени, отправляете ajax-запрос на получение данных. Для "таймера" используют или setInterval(), или setTimeout(). В остальном, все мало отличается от того, как вы добавляете данные, только в обратном порядке:
Ajax-запрос > Вытаскиваем данные из БД > Возвращаем клиенту
Теперь рассказывайте о том, что из этой примитивной схемы вам не знакомо.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.12.2014, 20:59  [ТС]
Т.к. изучение ajax я начал недавно, то мне неизвестно, как вытащить данные из БД.
Допустим, я вытащил из бд данные, а мне же нужно будет так сказать рефрешнуть страницу, нет?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
07.12.2014, 21:09
Цитата Сообщение от Esecman Посмотреть сообщение
Т.к. изучение ajax я начал недавно, то мне неизвестно, как вытащить данные из БД.
А вы и не сделаете этого с помощью ajax. Работать с БД - это дело серверной части. Ajax "сидит и курит" на клиенте, вы ему даете приказ: "Подымай свой жирный зад и скажи php, чтоб он с помощью бейсбольной биты, вытащил из мускула всю инфу". Ajax делает короткий звонок на сервер, php выжимает из бедного MySQL всё, что ему надо, красиво оформляет эти данные и первым же экспрессом отправляет их обратно Ajax-у.
Замечтательно... Все выполнили свои поручения и избежали полного отформатирования или переустановки без выходного пособия.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.12.2014, 21:18  [ТС]
Lazy_Den, Тогда все хорошо. На данный момент я так и поступаю. Меня интересует система setTimeout.
Она похожа на что-то в виде cron.
Но она меня не совсем устраивает с точки зрения оптимизации. То есть каждому пользователю будет направлен апдейт страницы, а это не круто.
Дабы оптимизировать процесс, сделать его так, чтобы при отправке сообщения пользователю, обновление происходило от кого отправлено и кому, круто ли?
Возьмем тот самый VK, он же не будет делать setTimeout всем.. Это ж не оптимизированный вариант.

Добавлено через 4 минуты
А по поводу обновления использовать?
JavaScript
1
location.reload();
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
07.12.2014, 21:28
Esecman, про оптимизацию я не совсем понял. Это раз. Во-вторых, мне же не нужно напоминать, что ваш уровень по сравнению с целой группой разработчиков того же VK слегка отстаёт? Я не вникал в работу VK, они могут использовать и сокеты, и long polling или что-то еще.
Цитата Сообщение от Esecman Посмотреть сообщение
То есть каждому пользователю будет направлен апдейт страницы, а это не круто.
Апдейт должен происходить только в том случае, если есть что-то новое. От каждого юзера раз 15 секунд (для примера) отправляется ajax-запросом его ID и, тоже для примера, время последнего сообщения. По этому ID и времени проверяется в БД - есть что-то новое или нет. Если есть, то это новое выводится ему на экран, если нет, то возвращается от сервера false и ничего не делается за исключением того, что таймер опять начинает отсчитывать 15 сек. до следующего запроса.

Добавлено через 33 секунды
Цитата Сообщение от Esecman Посмотреть сообщение
А по поводу обновления использовать? location.reload();
Как бы это помягче сказать?... Ну, дедушкин метод.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.12.2014, 21:29  [ТС]
Lazy_Den, Какой метод будет круче с точки зрения оптимизации?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
07.12.2014, 21:41
Цитата Сообщение от Esecman Посмотреть сообщение
с точки зрения оптимизации?
Я человек тёмный, поэтому, если вы расскажите, что вы под словом оптимизация понимаете, а потом расскажите вкратце суть вашего проекта, то возможно, что я вам отвечу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2014, 21:41
Помогаю со студенческими работами здесь

Автоматическое обновление картинки
Здравствуйте, необходимо сделать так, чтобы картинка автоматически обновлялась, без перезагрузки страницы. Как это можно сделать?

Автоматическое обновление даты
Внизу сайта стоит год - 2013. Как сделать чтоб он автоматически обновлялся?

Автоматическое обновление контента
Как сделать для этого сайта авто обновление контента

Автоматическое обновление части кода
Добрый день. Пытаюсь сделать автоматическое (через 2 секунды) обновление выполнения кода. Но видать что то не так раз не обновляет. ...

Автоматическое обновление стороннего сайта (по таймеру)
Здравствуйте. Вопрос заключается в следующем, есть код для обновления стороннего сайта, возможно было бы обойтись без строчки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru