1 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 11

[AJAX] Динамическое обновление по таймеру. SOS

05.06.2017, 23:32. Показов 6142. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый, форумчане. С джавой незнаком, но есть необходимость в написании одного скрипта. Буду очень благодарен тем, кто сможет хоть чем нибудь помочь, натолкнуть на ответ! =) Всем хорошего дня!

И так. Допустим, есть такой скрипт php. Находится он допустим.. В файле op.php
PHP
1
2
3
4
$id = $_SESSION['id'];
$result = mysql_query("SELECT * FROM users WHERE id='$id'");
$row = mysql_fetch_array($result);
echo(" ".$row['login']." ");
А так же есть скрипт обновления по таймеру. Находится он в том же файле op.php
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function show()
{
    $.ajax({
        url: "ссылка",
        cache: false,
        success: function(html){
            $("#id_block").html(html);
        }
    });
}
 
$(document).ready(function(){
    show();
    setInterval('show()',1000);
});
Всё бы хорошо. Но как вот тут:
JavaScript
1
url: "ссылка",
Указать, что нужно выполнять скрипт находящийся в этом же файле?

Ещё раз коротко: Есть файл op.php. В нём есть функция php и скрипт выполнения данной функции по таймеру. Как скрипту указать, что нужно выполнять данную фукнцию?

Очень буду благодарен за ответ и любую помощь с данной проблемой. Вероятно, решение очень простое, но с js я совершенно не связывался.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2017, 23:32
Ответы с готовыми решениями:

AJAX Динамическое обновление контента
доброго времени суток есть такой вот скрипт <script type="text/javascript" src="jquery.js"></script> <div...

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

Динамическое обновление контента по таймеру. Как передать значения параметров?
Добрый день, Нашел такой скрипт для динамического обновления контента без перезагрузки страницы. Скрипт отрабатывает правильно,...

5
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
06.06.2017, 02:57
Цитата Сообщение от Deakon24 Посмотреть сообщение
С джавой незнаком
Я тоже... Однако, в данном случае нам с вами повезло, т.к. задача связана с "Джава Скритп".
Цитата Сообщение от Deakon24 Посмотреть сообщение
нужно выполнять скрипт находящийся в этом же файле
Или же прописать абсолютный путь к этому файлу в ручном режиме, или же используя $_SERVER['PHP_SELF'] .

И еще пара советов:
1. Лучше писать setInterval(show,1000);, чем setInterval('show()',1000);
2. Лучше кэшировать элемент, который будет использовать несколько раз.
3. Лучше использовать повторный вызов функции после завершения текущего Ajax-запроса, чем setInterval
4. Лучше забыть про расширение mysql_*, а использовать MySQLi или PDO
5. echo - конструкция языка, а не функция, поэтому круглые скобки не нужны.
6. Обрабатывать все данные перед использованием их в SQL-запросах - это не только хорошая практика, но и спокойный сон программиста, и его клиентов ))
1
1 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 11
06.06.2017, 09:35  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
Я тоже... Однако, в данном случае нам с вами повезло, т.к. задача связана с "Джава Скритп".
Я про это и говорил =)
Цитата Сообщение от Lazy_Den Посмотреть сообщение
Или же прописать абсолютный путь к этому файлу в ручном режиме, или же используя $_SERVER['PHP_SELF'] .
Почти в точку, но тогда идёт обновление всех скриптов и функций на страничке =( А нужно лишь обновлять один скрипт..
Цитата Сообщение от Lazy_Den Посмотреть сообщение
И еще пара советов
Благодарен за подсказки по js.
А насчет остального, так это я как пример указал данный скрипт, на деле он немного другой, но суть та же.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
06.06.2017, 11:18
Лучший ответ Сообщение было отмечено Deakon24 как решение

Решение

Цитата Сообщение от Deakon24 Посмотреть сообщение
А нужно лишь обновлять один скрипт
Передавать в запросе какой-либо параметр, указывающий на то, какую функцию или часть сценария необходимо выполнить.
JavaScript
1
2
3
4
5
6
$.ajax({
    /* .... */
    data: {
        action: 5
    }
});
На сервере проверяем переменную $_GET['action'] (или $_POST) и её значение.
1
1 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 11
06.06.2017, 12:48  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
Передавать в запросе какой-либо параметр, указывающий на то, какую функцию или часть сценария необходимо выполнить.
Попробовал применить, вот такое вышло:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function show()
    {
        $.ajax({
            data: {
                action: 5
            }
            cache: false,
            success: function(html){
                $("#mes_im").html(html);
            }
        });
    }
 
    $(document).ready(function(){
        show();
        setInterval('show()',500);
    });
Так должно быть?


Цитата Сообщение от Lazy_Den Посмотреть сообщение
На сервере проверяем переменную $_GET['action'] (или $_POST) и её значение.
А вот таким образом я проверяю переменную:
PHP
1
if (isset($_POST['action']))
Но без результата, функция не определяет никаких значений. Видимо я неправильно понял =(

Добавлено через 11 минут
Ещё почитал, сделал такой скрипт:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function show()
{
    var mes = 2;
    $.ajax({
        type: "POST",
        url: "test.php",
        data: "mes="+mes,
        cache: false,
        success: function(html){
            $("#mes_im").html(html);
        }
    });
}
 
$(document).ready(function(){
    show();
    setInterval('show()',500);
});
Но и он тоже ничего не выдавал=(
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
06.06.2017, 13:20
Цитата Сообщение от Deakon24 Посмотреть сообщение
Так должно быть?
Если убрать синтаксические ошибки и добавить необходимые опции, то да.
Цитата Сообщение от Deakon24 Посмотреть сообщение
сделал такой скрипт
Принципиальной разницы нет.
Цитата Сообщение от Deakon24 Посмотреть сообщение
без результата
А вот теперь нужно смотреть в консоль. В первую очередь, проверять есть ли какие-нибудь ошибки, смотреть какие данные и куда передаются и что сервер возвращает в ответе: данные и заголовки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2017, 13:20
Помогаю со студенческими работами здесь

Динамическое обновление AJAX
Как сделать что-бы ajax обновлял блок только тогда когда в базе появилась запись function mode() { $.ajax({ url: 'test.php', ...

Динамическое обновление AJAX в Codeigniter
Есть контроллер: <?php class Chat extends CI_Controller{ public function index(){ ...

Динамическое обновление таблицы html ajax запросом
Всем привет, я делаю небольшое веб - приложение и сегодня столкнулся с небольшой трудностью. У меня есть jsp - страничка в ней таблица...

Проверка на xmlhttprequest для ajax, динамическое обновление контента без перезагрузки страницы
Доброго времени суток уважаемые форумчане, Облазил и перерыл весь интернет но конкретного ответа на свой вопрос не нашел, объяснений и...

Обновление текста по таймеру
Что нужно: Раз в секунду идёт пересчёт данных внутри приложения и эти обновлённые данные выводятся на экран. Что сделано: ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
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 и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru