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

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

06.12.2014, 19:44. Показов 2381. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru