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

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

06.12.2014, 19:44. Показов 2388. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru