[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: повторить событие через 2 секунды
Undertaker
есть у меня функция обращения к файлу методом ajax она работает правильно, единственная загвоздка в том что мне надо её повторять каждые 2 секунды...

function second_passed() {
AjaxFormRequest('result_div_id', 'form_id', 'form_chat.php')
}

Читал по сайтам про setTimeout и setInterval но все примеры подробно описывались только при задержке собития, на повторение всё было как то муторно, попробовал сделать так:

function second_passed() {
AjaxFormRequest('result_div_id', 'form_id', 'form_chat.php')
}
setTimeout(second_passed, 1000)

Разумеется скрипт откладывает событие на 1 секунду и выводит его единожды, мне бы хотелось что бы он повторял его каждые несколько секунд, как это реализовать? Может refresh куда поставить надо?

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Michael
дело в том, что Ajax запрос уходит на сервер, возвращается с результатом и тут уже обрабатывается. Вот в этом обработчике и надо прописать повторный вызов Ajax запроса через задержку (используя setTimeout)

_____________
There never was a struggle in the soul of a good man that was not hard
Undertaker
Michael
Просто мне необходимо что бы он каждые 2 секунды проверял базу на наличие новых записей т.е. повторялся каждые 2 секунды...
В место функции я ставил кнопку и делал через onclick и тогда при нажатии на кнопку всё работало как надо, теперь же мне нужно что бы всё работало без кнопки.
Может я как то неправильно мысль оформил, могу уточнить по интересующим вопросам

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Undertaker
Удалось всё же решить проблему кодом
setInterval (second_passed, 2000)
не понимаю, уверен что раньше его пробовал, чуствую дело недалеко до бага

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Michael
setInterval не то, я же выше объяснил про всю эту кухню, что не понятно?
Про асинхронные запросы, что такое вообще AJAX, слышал до этого хоть раз?

_____________
There never was a struggle in the soul of a good man that was not hard
HErATuB
С асинхронными запросами можно бороться и с вне для этого просто нужно глобальную переменную в виде флажка.
Undertaker
Michael
Теперь начинаю понимать немного, я раньше с ajax-ом не сталкивался, как и с jquery в целом, времени читать учебники не было, нужно было решение как можно скорее... Теперь конечно вставлю пропишу в обработчике... А в чём разница? Охота от знающего человека узнать...

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Undertaker
HErATuB
Цитата
С асинхронными запросами можно бороться и с вне для этого просто нужно глобальную переменную в виде флажка.

Вот тут я совсем ничё не понял, по отдельности слова понимаю, а вместе не допёр(((

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
kaww
Undertaker
, если нужно повторять периодически аякс запросы, то лучше пользовать setTimeout после получения ответа.
Пример с использованием jQuery

function myChecker() {

$.ajax({
url: "script.php",
dataType: "json",
success: function(data) {

//что-то делаем с ответом (data)
setTimeout(myChecker, 2000);//делаем запрос через 2 сек. после получения ответа
}
}
)
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.